jax*_*jax 22 android android-listview
如何对每个选定的列表项执行此操作.
我试过把它添加到 android:background
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:state_pressed="false"
android:drawable="@color/android_green" />
<item android:state_focused="true"
android:state_pressed="true"
android:drawable="@color/black_alpha" />
<item android:state_focused="false"
android:state_pressed="true"
android:drawable="@color/black_alpha" />
<item android:drawable="@color/white_alpha" />
</selector>
Run Code Online (Sandbox Code Playgroud)
但它不起作用,它改变了整个ListView.
仍然没有工作,这是我到目前为止
:: listview_background
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@color/black_alpha" />
<item android:drawable="@color/white_alpha" />
</selector>
Run Code Online (Sandbox Code Playgroud)
::我的观点正在使用上述内容
<ListView android:id="@+id/list" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_below="@+id/round"
android:listSelector="@drawable/listview_background">
</ListView>
Run Code Online (Sandbox Code Playgroud)
问题是black_alpha将应用整个列表,而不仅仅是选定的列表项
Jay*_*ren 21
而不是将其设置android:background为ListView,我相信你想设置android:listSelector如下所示:
<ListView android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:divider="@null"
android:dividerHeight="0dip"
android:listSelector="@drawable/list_selector" />
Run Code Online (Sandbox Code Playgroud)
Jax,你说的是:
问题是black_alpha将应用整个列表,而不仅仅是选定的列表项
我有同样的问题.在玩了一段时间后,我能够通过使用我想要的颜色的3x3 png图像而不是应用颜色来停止将颜色应用于整个列表.因此,出于某种奇怪的原因,如果你使用颜色你会得到奇怪的背景行为,当你使用png时,它工作正常.:S
所以这是解决它的一种方法.
- - -其他方式 - - - - -
当我将listView选择器设置为不具有以下任何状态时,我找到了最佳结果:
RES /抽拉/ list_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
</selector>
Run Code Online (Sandbox Code Playgroud)
然后我会处理列表项背景中的所有状态.不在选择器中.我发现我有更多的控制方式.
RES /颜色/ list_item_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="false"
android:state_pressed="false"
android:drawable="@color/list_item_black_translucent" />
<item android:state_pressed="true"
android:drawable="@color/light_green_accent_translucent" />
</selector>
Run Code Online (Sandbox Code Playgroud)
那么这是我的列表项:
RES /布局/ simple_list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingRight="45dip"
android:paddingBottom="2dip"
android:layout_gravity="center_vertical"
android:background="@color/list_item_bg">
<ImageView
android:id="@+id/arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dip"
android:src="@drawable/list_item_arrow" />
<TextView
android:id="@+id/simple_list_item_label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textSize="12sp"
android:textColor="@color/list_label_color"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52075 次 |
| 最近记录: |