android - 如何在 Android ListView 中设置所选项目的样式?

标签 android listview coding-style selected

我是一名 Android 新手,正在尝试学习 UI 方面的知识,并且正在努力学习。这是我现在所拥有的:

breeds_listing.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content" android:layout_height="wrap_content">
    <ListView android:id="@+id/breedsListView"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:dividerHeight="0px" android:divider="#00000000"></ListView>
</LinearLayout>

breeds_listing_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:background="@drawable/list_item_background"
    android:orientation="horizontal" >
    <TextView android:id="@+id/allbreeds_single_item"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:gravity="center_horizontal"></TextView>
</LinearLayout>

list_item_background.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#043402" />
    <stroke android:width="3dp" color="#ffff8080" />
    <corners android:radius="8dp" />
    <padding android:left="10dp" android:top="10dp" android:right="10dp"
        android:bottom="10dp" />
</shape>

我一直想弄明白的是如何设置所选项目的样式?目前,所选项目具有可怕的橙色背景,在圆角绿色矩形下,呈现橙色轮廓效果。我确定我没有按照最佳实践做事,因此我们将不胜感激任何建议或改进。

非常感谢, D.

最佳答案

我这样做:

 <selector xmlns:android="http://schemas.android.com/apk/res/android">

   <item android:state_pressed="true">
       <shape  >
         <solid android:color="#929292" />
       </shape>
   </item>



   <item>
     <shape  >
        <solid android:color="#FFFFFF" />
     </shape>
   </item>

 </selector>

所以你可以使用这个属性android:state_pressed="true"

在我的示例中,单元格背景只会是白色,按下时会变成灰色。

希望对您有所帮助!

关于android - 如何在 Android ListView 中设置所选项目的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4051297/

相关文章:

java - 当我们有多个 Activity 时如何集中运行时权限

android - Qt 造物主 : arm-linux-androideabi-g++: not found

android - 如何在未显示上下文菜单时停止将长按作为短按处理

C# ListView - 搜索准确的时间值 (HH :mm:ss) or closest value

android - Kotlin MediaPlayer 简单使用

android - 清理项目后出现错误

java - 如何设置 ListView 中项目的背景颜色

c - (MS Visual Studio) c 中按成员名称初始化 const typedef 结构

asp.net - 文本框宽度问题 - ASP.NET

javascript - clickHandler 或handleClick 或onClick 或signUp 或handleSignUp 或signUpHandler?