Android 在自定义项目上应用主题

2024-04-04

我可以声明一个主题和一个特定的按钮设计:

<style name="MyTheme" parent="android:style/Theme.Black">
  <item name="android:buttonStyle">@style/Button.b1</item>
</style>

<style name="Button.b1" parent="android:style/Widget.Button">
    <item name="android:textColor">#000000</item>
</style>

问题是这种样式适用于所有按钮。我想声明一个具有自己风格的特定按钮,独立于其他按钮更改每个主题(类似于“保存”按钮)。任何想法?


我尝试了以下方法:

<style name="Button.MyButton" parent="android:style/Widget.Button">
  <item name="android:background">@drawable/shape</item>
</style>

 <style name ="Button.MyButton.Theme1">
     <item name="android:textColor">#000000</item>
  </style>

 <style name ="Button.MyButton.Theme2">
     <item name="android:textColor">#FFFFFF</item>
  </style>

 <Button
     android:id="@+id/save_button" 
     android:layout_width="0px" 
     style="@style/Button.MyButton"
     android:layout_weight="1"
     android:layout_height="wrap_content"
     android:text="@string/save"/>

现在按钮独立于主题,但它也应该应用我上面声明的样式属性。目前,它仅应用在 MyButton 范围中声明的属性,而不应用 MyButton.Theme1 或 MyButton.Theme2 中声明的属性。


如果你的主题MyTheme仅用于定义按钮样式,将其移除;还删除parent按钮的属性:

<style name="Button.b1">
    <item name="android:textColor">#000000</item>
</style>

然后在布局中,仅对您需要的按钮使用样式,如下所示:

 <Button
         android:id="@+id/btn_custom"
         style="@style/Button.b1"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" >
 </Button>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 在自定义项目上应用主题 的相关文章

随机推荐

  • 每次发布后我应该关闭通道/连接吗?

    我在 Node js 中使用 amqplib 但我不清楚代码中的最佳实践 基本上 我当前的代码调用amqp connect 当 Node 服务器启动时 然后为每个生产者和每个消费者使用不同的通道 而不会真正关闭它们中的任何一个 我想知道这是
  • 在 dplyr 中过滤字符串列上的多个值

    我有一个data frame其中一列中包含字符数据 我想过滤多个选项data frame来自同一列 有没有一种简单的方法可以做到我所缺少的 Example data frame name dat days name 88 Lynn 11 T
  • 如何创建案例类的随机实例?

    假设我有几个案例类 例如 case class C c1 Int c2 Double c3 Option String case class B b Int cs Seq C case class A a String bs Seq B 现
  • 在线算法和离线算法有什么区别?

    这些术语在我的数据结构教科书中使用过 但解释非常简洁且不清楚 我认为这与算法在每个计算阶段拥有多少知识有关 请不要链接到维基百科页面 我已经阅读过它 并且仍在寻找澄清 像我十二岁一样的解释和 或示例会更有帮助 维基百科 维基百科页面非常清楚
  • 进程本地覆盖名称解析?

    我有测试代码 我希望在测试时将几个主机名解析为环回 部署后 此代码将根据需要使用正常的系统名称解析 测试和部署主机是最新的 Linux 发行版 例如 SLES11SP1 我想覆盖单个进程的主机名解析 而不是超级用户 有没有办法操纵nsswi
  • Django - 收到来自外部站点的流请求

    如何使用 Django 从用户请求触发的外部 API 获取数据 并将其直接流回请求周期而不使用 或渐进 最小 内存使用 背景 作为连接外部托管微服务的短期解决方案 需要限制用户对未经身份验证的 API 的访问 基于 Django 应用程序的
  • 如何从 ggplot2 包中仅绘制 geom_point 中的一系列值?

    Hello All I have the following molten data X variable value 1 StationA SAR11 cluster 0 001309292 2 StationB SAR11 cluste
  • 登录后保持会话 - selenium - javascript

    我正在尝试使用 selenium web driver 和 Node js 自动化几个页面 我能够登录 但登录后我想使用由网络驱动程序启动的相同会话 以便我可以在会话受保护的页面上进行自动测试 这是我的尝试 async function l
  • 如何将报表设计器标尺单位从英寸更改为厘米?

    一个简单的 我希望 问题 我正在使用 Visual Studio 我在 SQL Server Business Intelligence Development Studio 中创建一个新报告 在布局视图中 标尺的单位是英寸 我想将其更改为
  • Python函数返回字典?

    我是一名 Python 初学者 我遇到了一个我不理解的函数的输出 我无法提供所有代码 因为其中一些是我公司的 IP 我基本上使用我们的一位开发人员编写的库从数据仓库中提取指标 然后我想在另一个应用程序中使用这个指标值 当我获得该值时 我会将
  • 如何在 Gradle 中遮蔽传递依赖?

    有没有办法在 Gradle 中隐藏特定的 传递 依赖项 我的情况 我有一个项目直接依赖com amazonaws aws java sdk emr 1 10 33 and org apache hadoop hadoop aws 2 7 1
  • 如何使用 Scala Stream 类读取大型 CSV 文件?

    如何使用 Scala Stream 读取大型 CSV 文件 gt 1 Gb 你有代码示例吗 或者您会使用不同的方式来读取大型 CSV 文件而不先将其加载到内存中吗 只需使用Source fromFile getLines正如你已经说过的 这
  • 为什么我无法手动提交此表单?

    我试图在提交表单之前完成一些事情 以下代码运行没有错误 但我的表单从未提交 我不知道出了什么问题
  • 在Azure函数中设置cors标头

    在我的 Azure 函数中 我尝试设置 cors 标头 var response req CreateResponse HttpStatusCode OK response Content new ObjectContent
  • 使用返回 Future 的函数映射 Stream

    有时我发现自己处于这样的境地 Stream X and a function X gt Future Y 我想组合成一个Future Stream Y 而且我似乎找不到办法做到这一点 例如 我有 val x 1 until 10 toStr
  • 如何删除 Apache Mesos 中的孤立任务?

    该问题可能是由 Mesos 和 Marathon 引起的不同步 https github com mesosphere marathon issues 616 但是 GitHub 上提到的解决方案对我不起作用 当我发现孤立任务时 我所做的是
  • 构建成功时 Eclipse (CDT) 中出现可疑错误消息

    使用面向 C C Linux 开发人员的 Eclipse IDE 版本 Indigo释放 与克 4 1 2 on 科学 Linux CERN 5 RHEL 5 我目前正在开发一个项目 其中使用Qt4GUI 以及 Apache 的log4cx
  • Android应用程序架构——MVVM还是MVC?

    我有一个正在开始处理的 android 项目 我希望它的结构尽可能健壮 我有 WPF MVVM 背景 并且阅读了一些有关 Android 应用程序架构的内容 但我找不到关于我应该使用哪种架构的直接明确的答案 有些人建议使用 MVVM htt
  • 如何在 JavaScript 中使用五位数长的 Unicode 字符

    在 JavaScript 中我可以这样做 foo u2669 1 4 note 但我不能这样做 foo u1D15D full note five hex digits 它将被解释为 u1D15 后跟 D 有没有解决方法 2012 年 7
  • Android 在自定义项目上应用主题

    我可以声明一个主题和一个特定的按钮设计 问题是这种样式适用于所有按钮 我想声明一个具有自己风格的特定按钮 独立于其他按钮更改每个主题 类似于 保存 按钮 任何想法 我尝试了以下方法