将样式应用于 Android ListView

2023-12-11

我想在我的应用程序中设置 lisview 的样式,如下图所示

Expected Output

我尝试通过应用渐变来开发它:

list_item_normal 的代码是:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <gradient
        android:centerColor="#E6E6E6"
        android:endColor="#CCCCCC"
        android:startColor="#FFFFFF" 
        android:angle="270"/>
    <!--
        <gradient
        android:startColor="#FF7500"
        android:centerColor="#FFCC00"
        android:endColor="#FF7500"
        android:angle="270"/>
    -->

    <stroke
        android:width="1dp"
        android:color="#A0000000" />

    <padding
        android:bottom="8dp"
        android:left="5dp"
        android:right="5dp"
        android:top="8dp" />

    <corners android:radius="5dp" />

</shape>

list_item_pressed.xml 的代码是:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle">

    <gradient
        android:centerColor="#E6E6E6"
        android:endColor="#CCCCCC"
        android:startColor="#FFFFFF" android:angle="270"/>
    <!--
         <gradient android:startColor="#FF66CFE6" android:centerColor="#FF207FB9" 
        android:endColor="#FF0060B8" android:angle="270"/>
    -->

    <stroke
        android:width="2dp"
        android:color="#80000000" />

    <padding
        android:bottom="8dp"
        android:left="5dp"
        android:right="5dp"
        android:top="8dp" />

    <corners android:radius="7dp" />

</shape>

list_item_pressed.xml 的代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle">

    <gradient
        android:centerColor="#E6E6E6"
        android:endColor="#CCCCCC"
        android:startColor="#FFFFFF" android:angle="270"/>
    <!--
         <gradient android:startColor="#FF66CFE6" android:centerColor="#FF207FB9" 
        android:endColor="#FF0060B8" android:angle="270"/>
    -->

    <stroke
        android:width="2dp"
        android:color="#80000000" />

    <padding
        android:bottom="8dp"
        android:left="5dp"
        android:right="5dp"
        android:top="8dp" />

    <corners android:radius="7dp" />

</shape>

和 list_gradient.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true"
          android:drawable="@drawable/list_item_pressed" />

    <item android:state_focused="true"
          android:drawable="@drawable/list_item_selected" />

    <item android:drawable="@drawable/list_item_normal" />

</selector>

我已经应用了这种风格custom listitem like :

<TextView
    .../>

<ImageView
   ... />

我有 lisview 的 main.xml 是:

<ListView
    android:id="@+id/List"
    style="@style/list_item_gradient"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:clickable="true" >
</ListView>

我得到的输出如下所示:

current output

请帮助我告诉我做错了什么..

谢谢 什鲁蒂


你了解抖动吗?检查一下:http://android.amberfog.com/?p=247.

另请检查以下问题:

  1. 如何在 Android 的画布上绘制平滑/抖动渐变
  2. Android 视图抖动

是的,我建议为您的 LitsView 创建自定义适配器,您只需创建一个自定义行 xml 布局文件并应用一次背景图像。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将样式应用于 Android ListView 的相关文章

  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • Gradle 构建错误:无法从 https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml 加载 Maven 元数据

    我在 Android studio 中遇到 gradle 构建错误 如下所示 Error A problem occurred configuring project MyApp Could not resolve all dependen
  • fetchUuidsWithSdp 的奇怪 UUID 逆转

    我有一个在树莓派上运行的 python 蓝牙服务器 使用 PyBluez 我在服务器中使用的uuid是 8f86d132 4ab8 4c15 b8df 0b70cf10ea56 我正在打电话device fetchUuidsWithSdp
  • 将现有 VARCHAR 列与 Room 结合使用

    我正在尝试将现有的数据库与 Android Room 一起使用 但是 我的一个表有一个 VARCHAR 列 Room 似乎只支持 TEXT 不支持 VARCHAR 而且 sqlite 不允许修改列类型 那么 有没有办法使用Room中现有的带
  • Android WebView里面的ScrollView只滚动scrollview

    在我的应用程序中 我有一个 ScrollView 其中包含一些线性视图 一些文本视图和一个 Webview 然后是其他线性布局等 问题是 WebView 不滚动 Scroll 仅侦听 ScrollView 有什么建议么
  • 自定义首选项中的android首选项水平分隔线?

    我创建了自己的自定义首选项对象来扩展首选项 我创建它们只是因为这些自定义数据类型没有首选项 一切正常 但我的自定义首选项没有相同的外观 因为它们缺少系统首选项对象具有的水平分隔线 我已经查找了创建水平分隔线的代码 但我找不到它是在哪里完成的
  • 如何重定向到 instagram://user?username={username}

    我的 html 页面上有这个链接 可以在特定用户上打开 Instagram 应用程序 a href Link to Instagram Profile a 我一直在寻找自动运行 url instagram user username USE
  • Android Eclipse 上的 Web 服务

    我是 android eclipse java 的新手 事实上这个论坛也是如此 有人遇到过这种情况吗 从用户那里获取输入并通过使用 android eclipse 中的 Web 服务来显示适当的结果 有可用的示例吗 非常感谢 我正在发布教程
  • Android:后台Activity可以执行代码吗?

    后台的活动是否被视为 正在运行 并且可以执行代码 还是处于挂起状态 他们暂停了 活动生命周期 http developer android com reference android app Activity html ActivityLi
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • 当 OnFocusChangeListener 应用于包装的 EditText 时,TextInputLayout 没有动画

    不能比标题说得更清楚了 我有一个由文本输入布局包裹的 EditText 我试图在 EditText 失去焦点时触发一个事件 但是 一旦应用了事件侦听器 TextInputLayout 就不再对文本进行动画处理 它只是位于 editText
  • okhttp 获取失败响应

    我已经在我的 android 客户端中实现了 okhttp 来进行网络调用 当我收到失败响应时 我会收到失败代码以及与该代码相关的文本作为消息 但我没有收到服务器发送给我的自定义失败响应 在我实施的代码中的失败响应中 我收到的消息只是 错误
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • Android Studio 缓慢的增量构建

    我已经完成了许多步骤来完善我们的构建系统 those https stackoverflow com questions 16775197 building and running app via gradle and android st
  • Android 如何将总天数准确更改为年、月、日?

    我正在做一个应用程序 该应用程序与根据给定的生日日期输入获取一个人的年龄有关 为此 我从下面的代码中获取从该日期到当前日期的总天数 String strThatDay 1991 05 10 SimpleDateFormat formatte
  • 在命令行上卸载 Android SDK 的选定部分

    这与 卸载旧的 Android SDK 版本 https stackoverflow com questions 15182377 uninstall old android sdk versions 除非我想在无头 Linux CI 服务
  • 如何检查 Android 中的同步设置

    我正在构建一个 Android 应用程序 我需要检查设备中注册的每个单独帐户的同步设置 我知道我可以通过 ContentResolver 类来做到这一点 但我遇到了一些问题 我已设法获取设备上所有帐户的列表 但我不知道在运行时从哪里获取特定
  • Android - 以编程方式选择菜单选项

    有没有办法以编程方式选择菜单选项 基本上 我希望视图中的按钮能够执行与按特定菜单选项相同的操作 我正在考虑尝试调用 onOptionsItemSelected MenuItem item 但我不知道要为菜单项添加什么 是的 有一种方法可以选
  • 插件“Android Bundle Support”不兼容

    大家好 自从上次更新以来 当我启动 android studio 时 我遇到了一个非常奇怪的错误 我有这个错误 插件错误 插件 Android Bundle Support 不兼容 直到构建 AI 195 SNAPSHOT 我在网上找不到任

随机推荐

  • 如何避免触发器内的 ORA-04091 错误

    我在表 A 上有一个更新后触发器 触发器 A 可以对表 B 进行更改 我在表 B 上还有一个更新后触发器 触发器 B 它不进行任何更改 但查询表 A 以对非规范化进行一些健全性检查 因此触发器 B 可以通过以下两种方式之一触发 如果我直接更
  • 带重定向的 Node.js 包罗万象的路由始终使用 Angular 呈现索引页面,无论 url 是什么

    本质上当我使用包罗万象的路线并使用res redirect 无论我输入的网址如何 它总是会呈现索引 主页 即 Angular 似乎没有 看到 完整的网址 但是如果我放置res render index 在包罗万象的路线中一切正常 我不想重复
  • Python:静态变量装饰器

    我想创建一个如下所示的装饰器 但我似乎想不出可行的实现 我开始认为这是不可能的 但我想我应该先问你们 我意识到在 Python 中还有各种其他方法来创建静态变量 但我发现这些方法很丑陋 如果可能的话 我真的很想使用下面的语法 static
  • 如何查看 SQL Server Management Studio 编辑器中制表位的位置?

    我使用语音识别来听写 SQL 而将事情排列起来很痛苦 如果我能看到制表位在哪里 那会节省我很多时间 Management Studio 支持一项未记录的功能 Visual Studio 也有 它将垂直引导线添加到编辑器窗口的特定列位置 使用
  • 无法在 Linux 机器上通过 ODBC 连接到 informix

    我正在运行 CentOS 7 的虚拟机上工作 并且尝试通过一些 php 使用 ODBC unixODBC 连接到 Informix 数据库 我使用的是 php7 0 并且安装了 unixODBC 2 3 7 以及 informix sdk
  • 创建自定义 MutableState 持有者

    Compose 仅 允许有限数量的状态持有者 包括所有原始数据类型和一些额外的附加组件 但不支持自定义对象或任何更复杂的对象 例如Path 我希望确保对这些类型的更改也能很好地观察到 因此我想为这些类型实现自定义扩展 就像他们添加了muta
  • 如何避免 Java 中未使用的代码抛出 NoClassDefFoundError

    我正在从事的项目是一个支持两个不同平台的API 在运行时 类路径上实际上只有两个平台之一可用 在大多数情况下 我很容易就能编写出这样工作正常的代码 if isPlatformOne PlatformOne doSomething Even
  • Python2 和 Python3:__init__ 和 __new__

    我读过其他问题来解释两者之间的区别 init and new 但我只是不明白为什么在下面的代码中用 python 2 输出 init 和Python3 new init 示例代码 class ExampleClass def new cls
  • 在 iOS 导航栏上放置标签、按钮

    我创建了自定义导航控制器 我想添加 左侧是日期 右侧是后退按钮 后退按钮旁边是标题 我尝试添加一个标签 但不起作用 请告诉我一个方法 UINavigationBar naviBarObj UINavigationBar alloc init
  • gcc 和 g++/gcc-c++ 有什么区别?

    在我看来 gcc 可以处理 c 和 c 项目 那么为什么需要 g gcc c 呢 g 和 gcc c 有什么区别 gcc如果文件具有适当的扩展名 则将 C 源文件编译为 C 将 C 源文件编译为 C 但是它不会自动链接到 C 库中 g 将自
  • “ON CONVERSION ERROR”失败并显示“ORA-43918:此参数必须是文字”

    ON CONVERSION ERROR应允许转换函数处理诸如 ORA 01858 在需要数字的地方发现非数字字符 之类的错误 但是当我使用该功能时 我只会收到不同的错误 SQL gt select to date the date defa
  • 将“CallLog.Calls”存储到另一个表中

    我需要使用什么样的查询 将 CallDB 创建为 从 CallLog Calls 中选择 我想将整个通话记录存储到另一个表中进行处理 因为我读到 calllog calls 只有最后 500 条记录 好吧 我自己做了一个解决方案 不知道它是
  • SQL Server批量插入

    我想将一列文本文件导入到我的 SQL 表之一中 该文件只是脏话列表 我编写了以下 TSQL 来执行此操作 BULK INSERT SwearWords FROM c swears txt WITH FIELDTERMINATOR ROWTE
  • Scapy多次嗅探数据包?

    我正在使用 Scapy 通过使用以下代码来捕获数据包 from scapy all import def verify p p display sniff prn verify iface lo 嗅探功能多次捕获每个数据包 例如 如果我有一
  • RecyclerView 加载更多内容并出现 ProgressBar 错误

    我正在尝试创建RecyclerviewonLoadMore 与ProgressBar在底部 我试过了这个解决方案 但是我的方法 onLoadMoreActivity从未被调用过 请帮我 这是我的Adapter public class Ne
  • 使用 Realm studio 打开我的领域文件时出现问题

    我无法在领域工作室中打开 default realm 文件 这是我收到的错误 此版本的 Realm 不支持打开格式版本 20 的 Realm 文件 我在 stackoverflow 上看到了类似的问题 但没有任何答案 领域工作室版本 5 0
  • String.intern() 的性能损失

    很多人谈论 String intern 的性能优势 但实际上我更感兴趣的是性能损失可能是什么 我主要关心的是 搜索成本 intern 确定常量池中是否存在可内部字符串所花费的时间 该成本如何随着池中字符串的数量而变化 同步 显然常量池是整个
  • 无法使用 spring javamail 从服务器 heroku 发送电子邮件

    我尝试从以下位置发送电子邮件Heroku using 春季javamail 但出现错误 我的代码 import org springframework mail MailSender import org springframework m
  • Git - git-svn 克隆后删除远程分支

    我已经使用以下命令克隆了 SVN 存储库git svn clone trunk trunk tags tags branches branches 该操作已正确执行 现在当我列出我的分支时 我拥有所有过去的标签 例如 git branch
  • 将样式应用于 Android ListView

    我想在我的应用程序中设置 lisview 的样式 如下图所示 我尝试通过应用渐变来开发它 list item normal 的代码是