我在项目中使用jfeinstein10滑动菜单库,并且一切正常,只是当我在某些设备上运行我的应用程序时,在片段的顶部有一个空白区域保存了listview,这是一个图片:
这是我设置滑动菜单的代码:
setBehindContentView(R.layout.menu_frame);
FragmentTransaction fragTransaction = mFragmentManager.beginTransaction();
fragMenu = new FragmentMenu();
fragTransaction.replace(R.id.menu_frame, fragMenu);
fragTransaction.commit();
SlidingMenu sm = getSlidingMenu();
sm.setShadowWidthRes(R.dimen.shadow_width);
sm.setShadowDrawable(R.drawable.shadow);
sm.setBehindOffsetRes(R.dimen.actionbar_home_width);
setSlidingActionBarEnabled(true);
final ActionBar mActionBar = getSupportActionBar();
mActionBar.setHomeButtonEnabled(true);
mActionBar.setDisplayHomeAsUpEnabled(true);
这将是我的片段布局的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/fondoRowsMenuIzquierdo" >
<ExpandableListView
android:id="@+id/expListView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:cacheColorHint="@color/fondoRowsMenuIzquierdo"
android:childDivider="@color/fondoRowsChildMenuIzquierdo"
android:choiceMode="singleChoice"
android:divider="@color/separadoresMenuIzquierdo"
android:dividerHeight="1dp"
android:drawSelectorOnTop="true"
android:groupIndicator="@null" />
</LinearLayout>
有人知道如何删除该空白吗?
最佳答案
我已解决此问题,将其更新为最新的SlidingMenu库:https://github.com/jfeinstein10/SlidingMenu。但是此更新带来了另一个问题。
在SlidingMenu.java中,有这段代码:
public void manageLayers(float percentOpen) {
if (Build.VERSION.SDK_INT < 11) return;
boolean layer = percentOpen > 0.0f && percentOpen < 1.0f;
final int layerType = layer ? View.LAYER_TYPE_HARDWARE : View.LAYER_TYPE_NONE;
if (layerType != getContent().getLayerType()) {
mHandler.post(new Runnable() {
public void run() {
Log.v(TAG, "changing layerType. hardware? " + (layerType == View.LAYER_TYPE_HARDWARE));
getContent().setLayerType(layerType, null);
getMenu().setLayerType(layerType, null);
if (getSecondaryMenu() != null) {
getSecondaryMenu().setLayerType(layerType, null);
}
}
});
}
如果您在HONEYCOMB或更早的API版本中使用此库,则此代码将不允许您与滑动菜单中的视图进行交互,您必须更改此验证:
if (Build.VERSION.SDK_INT < 11) return;
为了这:
if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.HONEYCOMB_MR2)return;
关于android - 滑动菜单空白,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15624803/