Psy*_*Gik 3 android listview android-layout navigation-drawer
我有一个自定义导航抽屉与几个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>
Run Code Online (Sandbox Code Playgroud)
问题是,如果我不指定任何onClick()
的TextView
,然后使触摸反映在ListView
它的背景.说,第二次TextView
我分配了一个onClick监听器,但是对于第一个TextView
我没有,当我触摸第一个时TextView
,抽屉后面的列表项被选中但不是第二个.打开抽屉时,如何将注意力集中在导航抽屉物品上?
将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">
Run Code Online (Sandbox Code Playgroud)