【发布时间】:2015-02-12 23:44:34
【问题描述】:
我的导航抽屉中有一个 ListView,希望它看起来像 Playstore 应用程序或 Youtube 应用程序。
意味着 onClick 将示例的 FontColor 更改为红色,当我按住它时,背景应该变成灰色。
我必须使用 2 个 onitemclicklistener 吗?
<?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="48dp">
<ImageView
android:id="@+id/icon"
android:layout_width="25dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
android:contentDescription="@string/DrawerListIcon"
android:src="@drawable/ic_home"
android:layout_centerVertical="true" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toRightOf="@id/icon"
android:textSize="14sp"
android:textStyle="bold"
android:minHeight="?android:attr/listPreferredItemHeightSmall"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:textColor="@color/DrawerListFontColor"
android:gravity="center_vertical"
android:paddingRight="40dp"
android:paddingLeft="0dp"/>
</RelativeLayout>
尝试使用项目和选择器。当我按下按钮时,第一件事字体颜色不会改变。其次,Relative Layout 的背景变为蓝色而不是灰色。
drawer_list_font.xml
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
android:color="@color/DrawerListFontColorPressed"
/>
<item android:color="@color/DrawerListFontColor"/></selector>
drawer_list_background.xml
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
android:color="@color/DrawerListBackgroundFocused"
/>
<item
android:color="@color/DrawerBackground"
/></selector>
我不得不在相对布局上使用 android:drawable 而不是背景。在 Textview Android Stuio 上接受 android:color。
【问题讨论】:
标签: android listview material-design drawer