android selectableItem背景选择

2024-01-12

我想在状态“激活”时更改视图的背景,并且我想保留以下效果(波纹)?attr:selectableItemBackground。是否可以扩展或组合选择器?attr:selectableItemBackground?


您可以使用LayerDrawable http://developer.android.com/guide/topics/resources/drawable-resource.html#LayerList为了绘制涟漪效果drawable(?attr:selectableItemBackground) 覆盖您激活的状态颜色。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <selector>
            <item android:state_activated="true">
                <color android:color="?attr/colorPrimary"/>
            </item>
            <item>
                <color android:color="@android:color/transparent"/>
            </item>
        </selector>
    </item>
    <item android:drawable="?attr/selectableItemBackground"/>
</layer-list>

Edit:由于在 API 21 之前不可能在 XML 可绘制对象中使用主题属性,因此最好将波纹效果可绘制对象作为前景可绘制对象,将激活的颜色选择器可绘制对象作为背景可绘制对象。

<View
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/yourView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:foreground="?attr/selectableItemBackground"
    android:background="@drawable/activated_color_selector">

With res/drawable/activated_color_selector.xml包含:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_activated="true">
        <!-- Can't use the ?attr/colorPrimary before API 21 -->
        <color android:color="@color/primaryColor"/>
    </item>
    <item>
        <color android:color="@android:color/transparent"/>
    </item>
</selector>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android selectableItem背景选择 的相关文章

随机推荐

  • 使用带有自定义键的 HashMap

    快速问题 如果我想使用HashMap以自定义类为键 must我覆盖hashCode功能 如果我不重写该函数 它将如何工作 如果您不覆盖 hashCode AND equals 您将获得默认行为 即每个对象都是不同的 无论其内容如何
  • WF4 InstancePersistenceCommand 中断

    我有一个 Windows 服务 正在运行工作流程 工作流程是从数据库加载的 XAML 用户可以使用重新托管的设计器定义自己的工作流程 它配置有一个 SQLWorkflowInstanceStore 实例 以便在空闲时保留工作流 它基本上源自
  • 有什么方法可以判断任意 .docx 文件是否采用 Strict Office Open XML 格式与过渡格式? (ECMA-376)

    我在网上搜索过 没有找到任何程序或工具可以区分那些编码为严格 ECMA 376 和非严格 ECMA 376 的 docx 文件 对于 xlsx 文件也是如此 大多数讨论都集中在给定应用程序支持哪些格式 例如LibreOffice 但不知道如
  • 一起录制视频和屏幕并用 Javascript 覆盖

    我想在网络摄像头旁边记录用户的屏幕并将结果显示为叠加层 如下所示 我假设在录制时我可以在两个单独的视频元素中显示多个流并用 CSS 覆盖它们 然而 我该如何save结果是两个视频的叠加 这可以在纯 JS 中实现 如下所示 通过 getUse
  • 为什么建议在 .NET 中使用反射?

    使用它绝对是一个好的做法吗 项目中有哪些可能的情况需要反思 反射的主要价值在于它可用于检查程序集 类型和成员 它是一个非常强大的工具 用于确定未知程序集或对象的内容 并且可用于多种情况 Reflection 的反对者会说它很慢 与静态代码执
  • 延迟函数不恢复

    所以 我一直在摆弄go 我发现下面的函数恢复成功 package main import fmt func a defer func if r recover r nil fmt Println Recovered r n int 5 7
  • 如何修复 Laravel 应用程序找不到 nginx 404?

    我所有的路线都得到了404未找到 如果我访问 我可以打开 Laravel 页面localhost mylaravel 但如果我访问localhost mylaravel login 我得到 404 未找到页面 如果我更改 home 上的回家
  • Login-AzureRmAccount 返回订阅,但 Get-AzureSubscription 返回空

    我能够成功登录Login AzureRmAccount 我还可以在 Login AzureRmAccount 的返回值中看到我的订阅 但登录后 如果我输入Get AzureSubscription它返回空 找到下面的截图 嗯 你需要使用Ge
  • 如何向android studio添加外部依赖(jar文件)?

    我正在尝试将外部库 httpmime 4 0 sources jar 添加到 android 项目中 因为 android studio 弹出如下错误 error 包 org apache http entity mime 不存在 erro
  • Microsoft UI 自动化的 Python 绑定? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人知道 Microsoft UI 自动化的 Python 绑定吗 http msdn microso
  • Flutter:如何避免在现有路由上推送相同的路由

    我有带有底部导航栏的视图 当您按下导航栏项目时 一条新路线将被推入视图中 final navigatorKey GlobalKey
  • Azure B2C:检查本地帐户创建期间是否存在另一个声明

    除了通常根据所使用的电子邮件当前是否存在创建帐户之外 我想知道如何检查 Azure Active Directory 中是否不存在另一个声明值 例如 对于我们的应用程序 创建帐户的任何人都必须提供组织名称 一旦他们注册 他们就是其组织群组的
  • 如何使用 Selenium 和 Python 更改用户代理

    我在使用 selenium 更改 Python 中的 Web 驱动程序用户代理时遇到错误 这是我的代码 import requests import json from selenium import webdriver from sele
  • Vector3 不可序列化 Unity3D

    好吧 我按照 Unity3D 数据持久化教程进行操作 一切都很顺利 直到我尝试保存 Vector3 类型的数据 本教程仅展示如何保存 int 和 string 当我使用函数 Save 时 控制台向我显示says SerializationE
  • 使用 REST API 的可编辑 jQuery 网格推荐

    首先 我已经读过这个问题 jQuery 网格建议 https stackoverflow com questions 159025 jquery grid recommendations 但这并不能回答我的问题 我有一个小带有 MongoD
  • 带指数的浮点文字的类型

    具有指数部分的浮点文字是什么类型 例如123456e 3在 C 99 中 是否属于类型float or double 当用作float初始化程序在float f 123456e 3 是否需要有一个f suffix 默认情况下 所有浮点文字
  • 节点Hmac认证

    我对认证过程的理解 主机创建一个secret and a public api key 客户端借助密钥对有效负载进行加密 这就是签名 然后将其公钥 有效负载 签名发送给主机 示例客户端 https github com bitfinexco
  • viewModelScope 未取消

    看完后Sean 对 Android 的解释 Google I O 19 https youtu be BOHK w09pVA t 1425我也尝试过同样的操作 init viewModelScope launch Timber i coro
  • 在替换迭代器中使用未初始化值 $ARGV[1]

    我正在尝试运行我编写的这个程序 但不断收到一条错误消息 其中指出以下内容 在替换迭代器中使用未初始化值 ARGV 1 replaceName pl 第 22 行 因为该值是从命令行传递的名称 并且是第二个参数 所以我不确定出了什么问题 us
  • android selectableItem背景选择

    我想在状态 激活 时更改视图的背景 并且我想保留以下效果 波纹 attr selectableItemBackground 是否可以扩展或组合选择器 attr selectableItemBackground 您可以使用LayerDrawa