我目前正在开发一个带有滑动菜单的Android应用程序,我的代码编译但我的滑动菜单与我的主要布局碰撞如下:
主要布局的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:orientation="vertical" >
<com.facebook.widget.LoginButton
android:id="@+id/authButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
/>
</LinearLayout>
xml的菜单布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
/>
</RelativeLayout>
我的主要活动:
public class MainActivity extends FragmentActivity {
private ListView txV;
//Creating array for List View with dummy items
private final String[] menuItems ={"lorem", "ipsum", "dolor",
"sit", "amet",
"consectetuer", "adipiscing", "elit", "morbi", "vel",
"ligula", "vitae", "arcu", "aliquet", "mollis",
"etiam", "vel", "erat", "placerat", "ante",
"porttitor", "sodales", "pellentesque", "augue", "purus"};
private FB_Login mainFragment;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_main);
// Sets and configures the SlidingMenu
SlidingMenu menu = new SlidingMenu(this);
menu.setMode(SlidingMenu.RIGHT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setShadowWidthRes(R.dimen.shadow_width);// =7dp
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);//=150dp
menu.setFadeDegree(0.35f);
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
menu.setShadowDrawable(R.color.Black);
menu.setMenu(R.layout.layout_menu);
//Sets listView for sliding menu
txV = (ListView) findViewById(android.R.id.list);
txV.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,menuItems));
if (savedInstanceState == null) {
// Add the fragment on initial activity setup
mainFragment = new FB_Login();
getSupportFragmentManager().beginTransaction().add(android.R.id.content, mainFragment).commit();
} else {
// Or set the fragment from restored state info
mainFragment = (FB_Login) getSupportFragmentManager().findFragmentById(android.R.id.content);
}
}
我的Facebook登录工作正常,唯一的问题是这个。我玩了补偿,但没有成功。我检查了xmls但没有看到任何问题。对菜鸟的任何建议?
由于
临时解决方案:改变这一行&#34; menu.attachToActivity(this,SlidingMenu.SLIDING_WINDOW);&#34;防止碰撞,但我仍然想知道为什么当我离开那个领域时发生了#34; SLIDING_CONTENT&#34;。
答案 0 :(得分:0)
您正在使用布局菜单的相对布局。相对布局支持z索引放置(一个视图高于另一个视图)。因此,您的Facebook按钮跨越两个视图。另请检查此行
menu.setShadowWidthRes(R.dimen.shadow_width);// =7dp
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);//=150dp
屏幕截图的行为方式表明您的滑动菜单是从屏幕右侧配置的。
menu.setMode(SlidingMenu.RIGHT);
在您的列表中,您的列表视图是从右侧开始的。我的猜测是你的主要布局就像滑动菜单一样。