tyc*_*czj 28 android android-listview
正如平板电脑版的gmail和google talk中所见,我试图在列表视图中显示当前选择.我知道这不是标准做法,应该在必要时予以避免.在我的程序中,列表视图总是在屏幕上,点击的项目显示右侧的新片段(类似于gmail和google talk).
为了避免用户猜测选择了哪个项目,我想显示当前的选择,我尝试创建一个选择器,但在点击它之后它会变回正常的背景.
我该怎么做到这一点?
这是我的选择器xml
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/list_item_bg2" android:state_pressed="false" android:state_selected="false"
android:state_focused="false"/>
<item android:drawable="@drawable/list_item_selected_bg2" android:state_pressed="true"/>
<item android:drawable="@drawable/list_item_selected_bg2" android:state_pressed="false" android:state_focused="false"
android:state_selected="true" android:state_checked="false"/>
<item android:drawable="@drawable/list_item_selected_bg2" android:state_pressed="false" android:state_focused="true"
android:state_selected="false"/>
<item android:drawable="@drawable/list_item_selected_bg2" android:state_pressed="false" android:state_focused="false"
android:state_selected="false" android:state_checked="true"/>
<item android:drawable="@drawable/list_item_selected_bg2" android:state_pressed="true" android:state_focused="true"
android:state_selected="true" android:state_checked="true"/>
<item android:drawable="@drawable/list_item_selected_bg2" android:state_pressed="true"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
Com*_*are 73
Gmail和类似应用程序使用的是activated状态,具有适当的行布局.看到:
简而言之,您:
android.R.layout.simple_list_item_activated_1)setChoiceMode(ListView.CHOICE_MODE_SINGLE)你的ListViewsetItemChecked()对你ListView启用"激活"状态,并有持久亮点如果您为每一行使用自定义布局:
选择器drawable的一个例子:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:exitFadeDuration="@android:integer/config_shortAnimTime">
<item android:state_activated="true" android:drawable="@color/android_green" />
<item android:drawable="@android:color/transparent" />
</selector>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22542 次 |
| 最近记录: |