我有一个带有几个TextViews
的自定义导航抽屉。这是布局:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- The main content view -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- The navigation drawer -->
<LinearLayout
android:layout_width="240dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/White"
android:layout_gravity="start">
<TextView
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeightSmall"
android:textStyle="bold|italic"
android:gravity="center_vertical"
android:layout_marginLeft="5dp"
android:layout_marginStart="5dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="First Item" />
<View
android:layout_width="fill_parent"
android:layout_height="3dp"
android:background="@color/gplus_color_1" />
<TextView
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeightSmall"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:text="Second Item"
android:gravity="center_vertical"
android:layout_marginLeft="15dp"
android:layout_marginStart="15dp"
android:id="@+id/second" />
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
问题是,如果我没有为onClick()
分配任何TextView
,则触摸会反映在后台的ListView
上。比方说,对于第二个TextView
我分配了一个onClick监听器,但对于第一个TextView
我没有,当我触摸第一个TextView
时,抽屉后面的列表项被选中但不是为了第二个。打开抽屉时,如何将注意力集中在导航抽屉物品上?
答案 0 :(得分:6)
将android:clickable =“true”添加到LinearLayout。 它不再关注背景列表。
<LinearLayout
android:layout_width="240dp"
android:layout_height="match_parent"
android:clickable="true"
android:orientation="vertical"
android:background="@color/White"
android:layout_gravity="start">