滑动菜单布局和主要布局碰撞

时间:2014-05-11 16:47:05

标签: android android-layout android-listview

我目前正在开发一个带有滑动菜单的Android应用程序,我的代码编译但我的滑动菜单与我的主要布局碰撞如下:

http://i.imgur.com/eALCZCK.jpg

主要布局的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;。

1 个答案:

答案 0 :(得分:0)

您正在使用布局菜单的相对布局。相对布局支持z索引放置(一个视图高于另一个视图)。因此,您的Facebook按钮跨越两个视图。另请检查此行

menu.setShadowWidthRes(R.dimen.shadow_width);// =7dp
    menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);//=150dp

屏幕截图的行为方式表明您的滑动菜单是从屏幕右侧配置的。

menu.setMode(SlidingMenu.RIGHT);

在您的列表中,您的列表视图是从右侧开始的。我的猜测是你的主要布局就像滑动菜单一样。