Android:点击抽屉布局侧边栏时会点击背景布局

Android:点击抽屉布局侧边栏时会点击背景布局,android,Android,我创建了一个抽屉布局边栏。当我点击侧边栏时,背景布局中的内容也会被点击 public class MainActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

我创建了一个抽屉布局边栏。当我点击侧边栏时,背景布局中的内容也会被点击

public class MainActivity extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final DrawerLayout drawer = (DrawerLayout) this.findViewById(R.id.drawer_layout);

        Button btn = (Button)findViewById(R.id.clickBtn);
        btn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                drawer.openDrawer(Gravity.LEFT);
                Toast.makeText(getApplicationContext(), "Button Clicked", Toast.LENGTH_SHORT).show();
            }
        });
    }
}
这是我的布局:

<android.support.v4.widget.DrawerLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">

    <!-- The main content view -->
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >  
        <Button
            android:id="@+id/clickBtn" 
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="hello pandora"/>
    </RelativeLayout>

    <!-- The navigation drawer -->
    <TextView
            android:id="@+id/left_drawer"
            android:layout_width="300dp"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:text="hello world"
            android:textColor="#fff"
            android:background="#111"/>

</android.support.v4.widget.DrawerLayout>

当我点击按钮时,抽屉滑动打开,在第三张图片中,当我点击侧边栏时,背景层中的按钮(“hello pandora”)也会被点击。


有什么我必须添加在抽屉布局中才能阻止背景布局中的触摸事件吗?

我自己修复了它,但方式不好。我为导航抽屉布局(这里是TextView)编写了一个onClickListener,并在onClick()方法中将其留空。现在它是这样工作的。

我也面临同样的问题。 在布局中添加android:clickable=“true”。

你在那里突出地称之为“导航抽屉”,实际上是一个
文本视图-

虽然它应该是一个
android.support.design.widget.NavigationView

使用一些
header.xml
和一个
菜单.xml
膨胀,您必须将子节点放入其中

没有导航视图的抽屉布局“可能会异常”

在Android上,可以启用“显示布局边界”选项,就像在Android Studio中有一个“显示边界”一样,这两个选项都有助于理解异常行为的原因