我的导航抽屉里有一个ListView,希望它看起来像Playstore App或Youtube App。
表示onClick将FontColor for Example更改为红色,当我按住它时,背景应变为灰色。
我是否必须使用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>
尝试使用物品和选择器。按下按钮时,字体颜色首先不会改变。其次,相对布局的背景变为灰色的蓝色。
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而不是background。在Textview上,Android Stuio接受了android:color。
答案 0 :(得分:0)
通过在每次点击事件中更改ur java文件中的视图来更改此视图您可以更改视图。你必须为它做多个视图,即xml文件。哪些是动态更改的,或者你也可以向函数发送参数并在运行时创建一个xml,但这对你来说太深了
答案 1 :(得分:0)
根本不需要听众。 这里更好的方法是创建可绘制的XML,其中包含每个州的定义(&#34;按下&#34;,&#34;聚焦&#34;等)。 查看Color State List resources
例如:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false"android:color="#80000" />
<item android:state_focused="true" android:state_pressed="true" android:color="#ff0000" />
<item android:state_focused="false" android:state_pressed="true" android:color="#ff0000" />
<item android:color="@color/DrawerListFontColor" />
</selector>