Линейная компоновка отключить нажатие на панель навигации

#android #android-studio #android-linearlayout

#Android #android-studio #android-linearlayout

Вопрос:

Пункты меню в панели навигации не реагируют из-за линейной компоновки.Я пробовал ограниченную компоновку вместо линейной компоновки.Но это дает те же результаты.Без этой линейной компоновки или ограниченного макета пункты меню доступны для просмотра и реагирования. Как я могу исправить эту ошибку и сделать пункты меню интерактивными с помощью линейной компоновки?

 <com.google.android.material.navigation.NavigationView
    android:id="@ id/navView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:menu="@menu/menu_items">

</com.google.android.material.navigation.NavigationView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:layout_marginTop="50dp"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:layout_marginBottom="20dp"
        android:orientation="vertical"
        tools:context=".homePageDuplicate">

        <ImageView
            android:id="@ id/imageView3"
            android:layout_width="139dp"
            android:layout_height="166dp"
            android:layout_gravity="center"
            app:srcCompat="@drawable/app_logo" />

    <TextView
        android:id="@ id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="45dp"
        android:layout_gravity="center"
        android:layout_marginTop="15dp"
        android:text="text"
        android:textColor="#FF9800/>

        <androidx.appcompat.widget.LinearLayoutCompat
            android:layout_width="match_parent"
            android:layout_height="150dp"
            android:orientation="horizontal"
            android:layout_marginTop="40dp">

        <Button

            android:layout_height="120dp"
            android:layout_width="120dp"
            android:backgroundTint="#29A536"
            android:background="@drawable/rounded_edittext"
            android:drawableTop="@drawable/ic_local_taxi_black_24dp"
            android:gravity="bottom|center_horizontal"
            android:paddingBottom="8dp"
            android:paddingTop="5dp"
            android:text="btn1"
            android:layout_gravity="center"
            android:onClick="onclick" />

        <Button
            android:layout_height="120dp"
            android:layout_gravity="center"
            android:backgroundTint="#F1110C"
            android:drawableTop="@drawable/ic_account_balance_black_24dp"
            android:gravity="bottom|center_horizontal"
            android:paddingTop="5dp"
            android:paddingBottom="8dp"
            android:text="btn"
            android:layout_weight="1.5"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:background="@drawable/rounded_edittext"
            android:layout_width="120dp"
            android:onClick="onclick2" />

        </androidx.appcompat.widget.LinearLayoutCompat>

        <androidx.appcompat.widget.LinearLayoutCompat
            android:layout_width="match_parent"
            android:layout_height="150dp"
            android:orientation="horizontal"
            android:layout_marginTop="0dp">
        <Button
            android:layout_height="120dp"
            android:backgroundTint="#D1522A"
            android:drawableTop="@drawable/ic_phone_in_talk_black_24dp"
            android:gravity="bottom|center_horizontal"
            android:paddingTop="9.5dp"
            android:paddingBottom="8dp"
            android:text="btn"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:layout_gravity="center"
            android:background="@drawable/rounded_edittext"
            android:onClick="onclick3" />

        <Button

            android:layout_width="120dp"
            android:layout_height="120dp"
            android:backgroundTint="#8F7608"
            android:drawableTop="@drawable/ic_local_hospital_black_24dp"
            android:gravity="bottom|center_horizontal"
            android:text="btn"
            android:textColor="#FFFFFF"
            android:textSize="16dp"
            android:textStyle="bold"
            android:layout_weight="1.5"
            android:layout_gravity="center"
            android:background="@drawable/rounded_edittext"
            android:onClick="onclick"/>
        </androidx.appcompat.widget.LinearLayoutCompat>
    </LinearLayout>
</androidx.drawerlayout.widget.DrawerLayout>
  

Ответ №1:

Поменяйте порядок ваших NavigationView и ваших LinearLayout , чтобы NavigationView он был ниже вашего LinearLayout в вашем XML-файле. Это гарантирует, что NavigationView «сверху» LinearLayout , когда дело доходит до получения событий щелчка.