将 list_selector_background 用作 LayerList 可绘制的 ListView 项目

2023-11-29

如果我们使用 ListView 或 ExpandableListView,默认背景是@android:drawable/list_selector_background。我有一个 ExpandableListView,它显示按日期分组的数据。我喜欢可绘制的状态列表 list_selector_background 并希望保留不同状态的行为。但对于周末(对于某些列表视图项目),我想定义一个自定义背景。但这些项目仍应使用通过 list_selector_background 定义的不同状态的可绘制对象。 我看到了不同的不合适的答案。他们中的大多数人说我应该定义自己的状态列表可绘制。 list_selector_background.xml 除了定义不同状态的不同可绘制对象之外,<item android:state_window_focused="false" android:drawable="@color/transparent" />

所以我想我定义了自己的状态列表可绘制,只需将透明更改为我想要的颜色。问题是用于各州的绘图不是公开的。我真的很想保持接近 android 风格,所以我不想用自己的状态可绘制对象编写自己的状态列表可绘制对象。

最后,我使用可绘制图层列表编写了一个解决方案。

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

    <item 
       android:drawable="@color/DarkBlue"
       android:id="@+id/background" />

    <item 
       android:drawable="@android:drawable/list_selector_background"
       android:id="@+id/list_selector_background" />

  </layer-list>

这完全符合所需的行为,但有一个例外:/。我有自定义背景,该项目与 list_selector_background 中为新闻事件定义的可绘制对象进行反应。 但不知何故,聚焦状态不使用 list_selector_background 定义的可绘制对象(<item android:state_focused="true" android:drawable="@drawable/list_selector_background_focus" />)

所以我请问是否有人能想象为什么聚焦状态不起作用?我正在使用 API 级别 8 进行开发。如果您需要任何进一步的信息,我想发布。谢谢


None

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

将 list_selector_background 用作 LayerList 可绘制的 ListView 项目 的相关文章

随机推荐

  • 我怎样才能加速这个 Rcpp 代码?

    我在 R 中实现了一个运行时间较长的函数 我已经成功地在 R 中改进了它 但现在我想通过使用 Rcpp 包来加快它的速度 我创建了以下 Rcpp 代码 不幸的是 它的运行时间与 R 代码的运行时间大致相同 我想因此改进它 有人知道如何改进这
  • 如何将新数组插入到我的锯齿状数组中

    你好 我将非常感谢任何帮助 好吧 让我们看看 首先我声明了一个像这样的锯齿状数组和下一个代码 int n 1 m 3 p 0 int jag array new n 现在我的锯齿状数组内部将有 1 个数组 接下来必须像这样填充数组 car
  • 如何在没有显式嵌套循环的情况下生成 N 个元素的组合,每个元素的供应有限

    如果 N 是固定的 比如 N 3 那么很容易 我可以使用深度为 3 的嵌套循环 例如 from i in Enumerable Range 0 2 from j in Enumerable Range 0 2 from k in Enume
  • CodeIgniter - 检查真实结果的最佳方法

    检查模型或其他任何地方的某些方法是否正确执行的最佳方法是什么 这是个好办法吗 Model data field1 this gt input gt post field1 data field2 this gt input gt post
  • BASH 脚本根据日期复制文件,但有一个问题

    让我解释一下树结构 我有一个网络目录 我们的数据库每天会多次复制新的 txt 文件 这些文件位于基于用户名的目录中 在本地磁盘上 我具有相同的结构 基于用户名的目录 并且需要使用最新的 txt 文件进行更新 这不是同步过程 我将远程文件复制
  • 列出 C# 中的 GetRange 错误

    我正在处理列表 我的列表有 14 条记录 List
  • 用于.Net项目的文档数据库/键值存储[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 是否有与 Net 项目配合
  • 变量赋值避免无限循环

    我有两段递归代码 打算递归地打印出数组的一半 直到到达数组长度为 1 的数组 没有变量赋值的代码无限运行 而有变量赋值的代码则按预期运行 有任何线索说明为什么会出现这种情况吗 无限运行 CAREFUL function half arr h
  • 突出显示 DBGrid 中的特定文本

    我正在执行查询并在 dbgrid 中显示返回的数据 我想突出显示符合搜索条件的项目 就像是 搜索方式 test 在 DBGrid 中 返回的数据将为 ID Return 1 This is a test 2 Test ing 这里的目标无疑
  • 如何确定 SharePoint 列表的磁盘大小?

    我有一个包含大约 5500 个项目的列表 我想了解磁盘上的大小 我有什么办法可以做到这一点吗 如有必要 我不介意在数据库中运行查询 导航http myapplication mySitecollection layouts storman
  • 类型 将指数数转换为 int 或 float

    下面的代码 echo int 2e2 echo int 2e2 echo float 2e2 outputs 2 200 200 我不知道为什么 谢谢 2e2 is scientific notation meaning 2 102 200
  • 使用 invalidateOptionsMenu() 打开/关闭 NavDrawer 会导致 SearchView 上的 onRestore 调用和 onQueryTextChange 也被调用

    我有一个带有回调实现的 MainActivity DrawerListFragment Callback ItemListFragment Callbacks SearchView OnQueryTextListener 我还添加了一个 A
  • 我对drawable-hdpi 和drawable-mdpi 感到困惑

    我正在尝试让我的 Android 应用程序在手机类型设备和平板电脑上运行 对于布局 我有layout normal和layout large 并且我将xml文件放入每个布局中 似乎为每个设备选择了正确的布局 手机的layout normal
  • 芹菜组和链

    我需要对 Celery 中的一些任务进行排序 其中一些应该作为单个任务 一些应该并行工作 当组中的任务完成时 它应该传递下一个任务 chain task1 s task2 s group task3 s task4 s group task
  • 在C中反转单​​链表[重复]

    这个问题在这里已经有答案了 可能的重复 如何仅使用两个指针反转单链表 这是反转链表的 C 代码 但这并没有产生所需的输出 struct node temp prev while head gt next NULL temp prev hea
  • 混合模式 C++/CLI 应用程序未正确关闭 CLR

    我的混合模式 MFC 应用程序正在创建错误的内存泄漏 因为 CRT 没有时间在 MFC dll 关闭之前关闭 我有一个非常简单的小应用程序来显示问题 include
  • 具有本地化内容的 ASP.NET 密码恢复控件

    我正在使用 ASP NET 成员资格和登录控件开发一个简单的门户应用程序 我想使用 PasswordRecovery 控件发送包含忘记密码的电子邮件 但我的门户需要本地化 我有一个现有的内容管理系统 我正在从中提取本地化字符串 并且我想将
  • MySQL:ORDER BY RAND() 的替代方法

    我读过一些 MySQL 的替代品ORDER BY RAND 函数 但大多数替代方案仅适用于需要单个随机结果的情况 有谁知道如何优化返回多个随机结果的查询 例如 SELECT u id p photo FROM users u profile
  • Android 连接 2 个音频(wav 或 mp3)文件

    我必须连接 2 个或更多音频 wav 或 mp3 文件并获取一个音频文件 我怎样才能在安卓中做到这一点 提前致谢 下面的代码部分将按照已进行的选择数量进行工作 选择意味着选择了多少个文件 将两个 wav 文件放入 sdcard0 SSoft
  • 将 list_selector_background 用作 LayerList 可绘制的 ListView 项目

    如果我们使用 ListView 或 ExpandableListView 默认背景是 android drawable list selector background 我有一个 ExpandableListView 它显示按日期分组的数据