我有一个 AB + 列表导航模式的活动。在我的清单文件android:configChanges="orientation|screenSize"
中设置了此活动。当我从 AB 打开列表并在横向模式下旋转设备时,列表仍然可见,但现在 AB 和列表之间存在间隙(由于 AB 改变,它的高度在方向改变时)。
我该如何正确处理这种情况,或者我该如何避免呢?
对于具有 API 8+ 和 11+ 的设备,这种情况类似
肖像
和风景
已编辑。我已经为 android 4.0+ w/o ABS 创建了示例项目。结果是一样的
私有 ActionBar mActionBar;私有静态字符串 [] 数组 = {"Item1","Item2","Item3","Item4","Item4"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mActionBar = getActionBar();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(mActionBar.getThemedContext(), android.R.layout.simple_spinner_item, array);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
mActionBar.setListNavigationCallbacks(adapter, new OnNavigationListener() {
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
Log.d("tag", "Item position " + itemPosition);
return true;
}
});
}
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.ablmtest.MainActivity"
android:label="@string/app_name"
android:configChanges="orientation|screenSize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>