如何避免列表导航模式中操作栏和列表之间的差距?

时间:2013-05-15 15:05:52

标签: android android-actionbar actionbarsherlock

我有AB +列表导航模式的活动。在我的清单文件中为此活动设置了android:configChanges="orientation|screenSize"。 当我从AB打开列表并在横向模式下旋转设备时,列表仍然可见,但AB和列表之间现在存在间隙(由于AB在方向改变时改变了它的高度)。

我如何正确处理这种情况或如何完全避免这种情况?

对于API 8+和11 +

的设备,这种情况类似

肖像

portrait

和风景

landscape

编辑。 我已经为Android 4.0+ w / o ABS创建了示例项目。结果是一样的

  

私人ActionBar mActionBar;       private static String [] array = {“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>

0 个答案:

没有答案
相关问题