Android ToggleButton 自定义样式未应用

2024-04-14

我跟着这个例子 http://www.mokasocial.com/2011/07/sexily-styled-toggle-buttons-for-android/用于将一些自定义主题应用于我的切换按钮,但是当我运行我的应用程序时,我看到通用的 android 切换图标 - 我认为我在这里或那里缺少一个设置,并且可以使用额外的眼睛来观察它。

我有一个用于使用的布局ListView为此,我尝试将自定义可绘制对象用于选中/未选中状态,每个切换状态默认设置为“已检查”:

<ToggleButton
        android:id="@+id/profile_item_value_text"
        style="@style/ProfileTagTheme"
        android:layout_width="0px"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:textSize="16dp"
        android:textColor="@color/black"
        android:layout_gravity="center"
        android:gravity="center_vertical|center_horizontal"
        android:checked="true" />

这是我的styles归档ProfileTagTheme:

<style name="Widget.Button.Toggle" parent="android:Widget">
    <item name="android:background">@drawable/profile_btn_toggle_bg</item>
    <item name="android:disabledAlpha">@android:attr/disabledAlpha</item>
</style>
<style name="ProfileTagTheme" parent="android:Theme.Black">
    <item name="android:buttonStyleToggle">@style/Widget.Button.Toggle</item>
</style>

反过来,profile_btn_toggle_bg.xml,住在我的主要drawable dir:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/background" android:drawable="@android:color/transparent"/>
    <item android:id="@android:id/toggle" android:drawable="@drawable/profile_btn_toggle"/>
</layer-list>

哪些参考文献profile_btn_toggle,就在它旁边:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@drawable/tag_active" /> <!-- pressed -->
    <item android:drawable="@drawable/tag" /> <!-- default/unchecked -->
</selector>

我已经验证了自定义图像存在于可绘制目录中,因此显然要么我误解了样式级联的方式,要么我在这种疯狂的样式中缺少了某个参考。


所以看来我遇到的唯一真正的问题是错过了android:background我的元素ToggleButton执行;因此对上面代码的唯一更改是添加该元素,例如

<ToggleButton
        android:id="@+id/profile_item_value_text"
        style="@style/ProfileTagTheme"
        android:background="@drawable/profile_btn_toggle_bg"
        android:layout_width="0px"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:textSize="16dp"
        android:textColor="@color/black"
        android:layout_gravity="center"
        android:gravity="center_vertical|center_horizontal"
        android:checked="true"
        android:onClick="onToggleClicked" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android ToggleButton 自定义样式未应用 的相关文章

随机推荐

  • Eclipse android ADT安装问题

    我按照每个步骤使用 Eclipse IDE 安装 android ADT 插件 我在 Windows 7 计算机上安装了 Eclipse for Java 我遵循每一步 尽管做了所有的事情 我还是收到以下错误 没有人犯过这个错误 我很着急请
  • Cython:类似 CPP 字典的地图性能

    我一直在比较使用模仿 python 字典的 c 映射与在 cython 中使用普通 python 字典的性能 我在 sklearn 中编写了 fast dict 实现的 简化 变体 https github com scikit learn
  • 如何在linux中的hdfs超级组中添加用户? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在研究 hdfs 然后我发现某些内容没有为超级用户执行权限检查 如果我的 linux 用户是 sandy 并且我想将 sandy 添加
  • 如何让tinymce(浏览器内的“富编辑器”)保留缩进

    问题 我将 Drupal 与丰富的编辑器一起使用 而丰富的编辑器喜欢通过删除缩进和格式来破坏我的文本 这在桌面编辑器中是不可接受的 但人们似乎可以在浏览器内编辑器中容忍这种情况 问 如何关闭此功能 我已经四处搜索 但尚未找到告诉富编辑器保留
  • 如何将 Javascript 数组传递给 Spring 控制器类

    我创建了 JS 数组并尝试将数组传递给 Controller 类 但它显示了NullPointerException 我通过 FireBug 检查了 URL 其中值正在传递 但在控制器类中 如果我尝试检索它 则显示 NULL JavaScr
  • List 或 IList [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 谁能向我解释为什么我想在 C 中使用 IList 而不是 List 相关问题 为什么暴露被认为是不好的List
  • Ruby 最大整数

    我需要能够确定 Ruby 中的系统最大整数 有人知道怎么做吗 或者是否可能 FIXNUM MAX 2 0 size 8 2 1 FIXNUM MIN 2 0 size 8 2
  • 自动更新 .net 应用程序

    到目前为止 我已经在 net 中编写了 2 个相当大型的应用程序 它们都需要一个更新工具 以便在我推出新代码时自动更新应用程序 我发现 企业应用程序块更新程序 对于我的需求来说有点过于复杂 并且在发布时我发现 单击一次 令人沮丧 我发现的最
  • 错误:unpack_from 需要缓冲区

    我正在使用 struct 来格式化固定分隔的 txt 文件 这是前两行 Sat Jan 3 18 15 05 2009 62e907b15cbf27d5425399ebf6f0fb50ebb88f18 4a5e1e4baab89f3a325
  • 如何将图像路径和名称上传到数据库 - Codeigniter

    我知道这个问题已经被问过好几次了 但是我发现的所有其他问题都与我想要的不同 我想将文件名和文件路径上传到名为 工厂图像 的表 这样做的最佳方法是什么 我的控制器功能 function do upload config upload path
  • 这是 IOC 的典型用例吗?

    我当前的应用程序允许用户通过一组管理屏幕定义自定义 Web 表单 它本质上是一个 EAV 类型的应用程序 因此 我无法对 HTML 或 ASP NET 标记进行硬编码来呈现给定页面 相反 UI 从服务层请求 Form 对象的实例 服务层又使
  • ASP.Net:混合身份验证 Azure AD/表单

    我有一个使用表单身份验证的旧版 Asp Net MVC Razor WebApp 现在 由于某些用户拥有 Azure AD 帐户 因此我添加了一个特殊的 AD 登录按钮以及常用代码以使其正常工作 app UseOpenIdConnectAu
  • 茉莉花量角器打字稿在其块中发生预期故障后继续执行

    我正在使用 Protractor jasmine 框架和打字稿 所以我在describe中有多个it块 所以在每个it块内有很多方法或期望条件我正在验证 因此 当前当其中一个期望失败时 整个块就会终止 所以即使在一步失败后我也想继续执行 下
  • 主题/样式 Angular 2 可重用组件库

    一般问题 我想要设计可重用的 Angular 组件的样式以匹配特定客户端项目的样式 我在一个单独的项目中维护可重用组件 并从中生成一个 npm 包 该包被发布到私有 NPM 存储库 Sinopia 然后安装到多个客户端项目中 当然 一般样式
  • 从 ng-repeat 内部调用 angularjs 属性指令

    我有一个表列对象的集合 我正在使用 ng repeat 对其进行迭代 我正在根据用户想要查看的列动态构建表 每个 TH 标签都调用一个 可排序 指令 如下所示 th Heading th 当自定义属性的值被硬编码时 如上所述 这很好 但是
  • 确定 Any.Type 是否可选

    我正在尝试确定给定类型是否t Any Type 是一个可选类型 我正在使用这个测试 t is Optional
  • XAML 设计器未加载

    我正在尝试开发适用于 Windows 10 的通用应用程序 但 XAML 设计器无法加载 我尝试重新安装 Visual Studio 但似乎没有任何效果 Error System Runtime InteropServices COMExc
  • 如何强制 python 子图具有相等的宽度和单独的高度(gridspec 不起作用)?

    I have the following figure Equal aspect ratio for each of the axes is a requirement I d love the widths to match betwee
  • 将 JSON 时间戳字符串转换为 pandas dataframe 中的 python 日期

    我有一个从 JSON 读取的 pandas 数据框 其中一个日期列是一种奇怪的时间戳格式 如下所示 日期 1405961743000 0100 如何将整列转换为 python 日期 我已经能够使用 datetime 手动将该日期转换为 py
  • Android ToggleButton 自定义样式未应用

    我跟着这个例子 http www mokasocial com 2011 07 sexily styled toggle buttons for android 用于将一些自定义主题应用于我的切换按钮 但是当我运行我的应用程序时 我看到通用