Android 风格传承

2023-11-27

事情是这样的:在我的 Styles.xml 中,我有一个通用样式,并且一个样式继承了另一个样式,如下所示:

<resources>

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppTheme.NoActionBar" parent="@style/AppTheme">
    <item name="colorPrimary">#0acf66</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style>

当我应用第二个主题(AppTheme.NoActionBar)时,它继承了颜色,但操作栏仍然存在。如果我将第二个样式的父级更改为 Theme.AppCompat.NoActionBar 它可以工作,但颜色完全不同。我该如何修复它?


所以这是样式/它们的继承问题。有两种方法可以从样式继承属性。

1.通过点表示法(隐式):

<style name="Theme.AppCompat.NoActionBar.Custom">
  // the parent will be Theme.AppCompat.NoActionBar
</style>

2.通过父标签(显式)

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
   //the parent is Theme.AppCompat.Light.DarkActionBar
</style>

要永远记住一件事,显式继承胜过隐式继承。

所以在你的情况下

<style name="AppTheme.NoActionBar" parent="@style/AppTheme">
    // your parent is AppTheme, and new style is AppThem.NoActionBar,
       but it doesn't inherit from an actual NoActionBar style.
</style>

为了拥有“NoActionBar”主题,实际上您必须从具有该属性的样式继承。所以你可以创建另一个AppTheme.NoActionBar继承自Theme.AppCompat.NoActionBar.

为了更好地了解主题/风格,请检查这个很棒的内容2016 年谷歌 I/O 大会有关样式和主题的链接。

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

Android 风格传承 的相关文章

  • 计算Android设备的PPI

    如何计算 Android 设备的 PPI 最特别的是 Android 平板电脑 请注意 我想计算设备的 PPI 而不是 DPI 就像一二三一样简单 让我们来计算一下PPI to Nexus 5 例如 float LCD Diagonal 4
  • 如何获取之前的碎片?

    为了在我的应用程序中重用某些片段 我需要知道哪个片段是返回堆栈上的第二个片段 为了做到这一点 我正在使用getFragmentManager getFragments 显示以下错误 但有效 FragmentManager getFragme
  • Android 在打开应用程序时会广播吗?

    例如 如果我想知道Youtube何时打开 是否有与之相关的广播 我当然知道我可以轮询 logcat 消息来检查活动 但我可以通过广播来做到这一点吗 因为它会少得多的耗电 此链接似乎表明这是不可能的 如何跟踪 Android 中的应用程序使用
  • Manifest Merger工具:替换失败

    我正在使用一个使用自己的 android theme 的库 因此在构建时收到以下错误 错误 55 9 任务 contacit processDebugManifest 执行失败 清单合并失败 AndroidManifest xml 中的属性
  • Android 上的 SVG 支持

    Android 支持 SVG 吗 有什么例子吗 最完整的答案是这样的 Android 2 x 默认浏览器本身不支持 SVG Android 3 默认浏览器支持 SVG 要将 SVG 支持添加到 2 x 版本的平台 您有两个基本选择 安装功能
  • Service 和 IntentService,运行从服务器轮询数据库值的服务哪个更好?

    我读过很多关于Service and IntentService 然而 当做出决定时 我没有足够的信心选择使用哪种类型来创建一个后台服务 该服务将在一定时间间隔内从数据库轮询数据 并在获得所需数据时停止它 因为数据代表请求的状态 例如 订购
  • 带操作按钮的颤动本地通知

    我在我的 flutter 项目中尝试了 flutter 本地通知插件 它在简单通知上工作正常 但我需要带有操作按钮的通知功能 请帮助我或建议我实现此功能 不幸的是 flutter local notifications 插件尚不支持操作按钮
  • 如何在React Native Android中获取响应头?

    您好 我想在获取 POST 请求后获取响应标头 我尝试调试看看里面有什么response with console log response 我可以从以下位置获取响应机构responseData但我不知道如何获取标题 我想同时获得标题和正文
  • 如何为发布而不是调试创建密钥库?扑

    我按照使用此网站部署 flutter 的步骤进行操作https flutter io android release https flutter io android release 当我运行 flutter build apk 时出现此错
  • 如何在android中设置权限WRITE_SECURE_SETTINGS? [复制]

    这个问题在这里已经有答案了 我正在尝试启用 4 0 以上的辅助功能服务设置 但它显示异常 即 引起原因 java lang SecurityException 权限拒绝 写入安全设置需要 android permission WRITE S
  • 使用 Retrofit2 和 Mockito 或 Robolectric 进行 Android 单元测试

    我可以测试 Retrofit2beta4 的真实响应吗 我需要 Mockito 或 Robolectic 吗 我的项目中没有活动 它将是一个库 我需要测试服务器是否正确响应 现在我有这样的代码并卡住了 Mock ApiManager api
  • 如何检查用户在EditText中输入自己的电话号码?

    用户将在我的 Android 应用程序的注册页面上的编辑文本中输入手机号码 如何检查用户输入的是他 她的手机号码而不是其他人的 我试过这个 TelephonyManager tMgr TelephonyManager mAppContext
  • 如何在 Android 模块中使用 FirebaseAuth

    我正在开发一个聊天库 我想在其中显示登录用户的对话 制作该库的原因是我想将其集成到多个项目中 我现在面临的问题是FirebaseAuth表示用户尚未登录 FirebaseAuth getInstance mFirebaseApp getCu
  • Android FragmentTransaction 自定义动画(未知动画师名称:Translate)

    我正在尝试让自定义动画与我的片段一起使用 我已按照在线教程进行操作 但出现以下错误 java lang RuntimeException 未知的动画师名称 翻译 动画的 XML 如下
  • 在 Android 中调整可绘制对象的大小

    我正在为进度对话框设置一个可绘制对象 pbarDialog 但我的问题是我想每次调整可绘制的大小 但不知道如何调整 这是一些代码 Handler progressHandler new Handler public void handleM
  • 如何在android asynctask中使用inputstream作为参数?

    我正在制作一个 Android 应用程序来跟踪股票详细信息 我将通过 csv 雅虎财经 检索数据 据我所知 在android 4 0中 网络连接无法在主线程上完成 因此 我将使用 asynctask 来建立连接 但是 我在参数方面遇到了一些
  • Android studio - 如何查找哪个库正在使用危险权限?

    我正在尝试将 apk 上传到 google play 商店 但令我惊讶的是 我正在使用以下权限 Your APK is using permissions that require a privacy policy android perm
  • javafx android 中的文本字段和组合框问题

    我在简单的 javafx android 应用程序中遇到问题 问题是我使用 gradle javafxmobile plugin 在 netbeans ide 中构建了非常简单的应用程序 其中包含一些文本字段和组合框 我在 android
  • 使用 JobScheduler API 进行位置更新

    下面是我使用 FireBaseJobDispatcher 启动作业的演示代码 public class MainActivity extends AppCompatActivity Override protected void onCre
  • Android应用程序可以像旧的普通java小程序一样嵌入到网页中吗?

    我对 android 平台一无所知 也无法在互联网上找到这个基本问题的答案 更新 好的 我本身无法嵌入 Android 应用程序 但是我可以在 Android Webbrowser 中嵌入 Java 的东西吗 不可以 您无法将 Androi

随机推荐

  • Tomcat 引起:java.util.zip.ZipException:打开 zip 文件时出错

    我有一个 spring mvc 项目 但它抛出了Caused by java util zip ZipException error in opening zip file当我通过 Tomcat 运行它时 如何确定哪个 jar 文件没有正确
  • 如何在IIS7.5中启用ASP经典

    我在 Windows 7 中运行 IIS 7 5 并且已经进入 打开或关闭 Windows 功能 并在 Internet 信息服务 万维网服务 应用程序开发功能 中启用了 ASP 完成此操作后 我开始收到 HTTP 404 错误 由于扩展名
  • 替换日期时间日期中的年份

    我有一个带有一列的表 dateDT 格式为日期时间和年份的变量输入 selYear 在我的 Select 中 格式为 int 如何使用变量输入替换表中日期中的年份并以日期时间格式返回结果 在选择中 我已尝试以下操作 但这返回错误的日期 年份
  • 使用下划线 groupby 按颜色对一组汽车进行分组

    我有一系列的汽车 car make nissan model sunny colour red 我将如何使用 underscore js 按颜色对数组进行分组 我尝试了一些组合 但我不太确定如何指定我的迭代器条件 var carsGroup
  • OSError:无法打开共享对象文件:即使文件位于文件夹中,也没有此类文件或目录

    我已经为此奋斗了很长一段时间了 我正在尝试安装 Yaafe 来提取音频特征 我按照这里的说明操作 https github com Yaafe Yaafe 一切都安装得很好 但是当我尝试运行测试文件 frames py 时 出现以下错误 F
  • C - 在内存被释放()后访问数据?

    我读了很多关于标准 C 中的 malloc 和 free 的内容 据我了解 您malloc 只为了一次记忆 然后你free 同样的记忆只有一次 这可能是不好的做法 但我明白 在你之后malloc 内存 您可以定义多个指向它的指针 而一旦你f
  • 酸洗 scipy interp1d 样条

    我想知道有没有简单的腌制方法interp1dscipy 中的对象 这种天真的方法似乎不起作用 import pickle import numpy as np from scipy interpolate import interp1d x
  • OpenMP 和 NUMA 的关系?

    我有一台双路 Xeon E5522 2 26GHZ 机器 禁用超线程 在支持 NUMA 的 Linux 内核 3 0 上运行 ubuntu 服务器 架构布局为每个插槽 4 个物理核心 OpenMP 应用程序在这台机器上运行 我有以下问题 在
  • 如何创建Python卷积核?

    我正在尝试创建一个卷积核 中间值为 1 5 不幸的是 我不断地想出如何做到这一点的想法 我正在尝试创建类似的东西 Array 0 1 0 1 1 5 1 0 1 0 由于 OpenCV 使用 Numpy 来显示图像 因此您可以简单地使用 N
  • 使用 Carrierwave 清理 tmp 目录

    我使用 Carrierwave 进行图像上传 在我的表单中 我添加了一个用于缓存的隐藏字段 如文档中所述 form for user html multipart true do f p f label image your image f
  • python的csv阅读器可以保留引号吗?

    我想使用 python CSV 阅读器 但我想保留引号 这就是我想要的 gt gt gt s simple split test gt gt gt reader csv reader s delimiter skipinitialspace
  • 通过javascript获取浏览器书签[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我们想为我们的客户提供在线书签服务 因此 最好还提供一个将本地书签存储到我们的在线工具中的功能 这不应该自动完成 用户应该确认此操作 仅在有人认为我
  • R 是否有像 python 一样的startswith 或endswith 函数? [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 gt startsWith abc a 1 TRUE gt startsWith abc c 1 FALSE gt endsWith abc a 1 FALSE gt endsWith
  • 使用 System.Net.Mail 通过 smtp 服务器加速发送多封电子邮件

    我是 C 的新手 但我从 VB Net 学到了很多关于 Windows Net 编程的知识 我刚刚制作了一个简单的 SMTP 客户端 它可以从程序发送电子邮件 它是一个控制台应用程序 一次只能通过服务器发送一封电子邮件 这非常慢 我需要通过
  • 删除列表框上的滚动条

    我在 vba 中使用 userForm 并且有一个列表框 我想删除霍罗兹 从底部滚动条 有没有办法做到这一点 我在属性框中没有看到任何选项 当您将列表框的列宽格式属性设置为宽 然后根据数据调整控件大小时 就会出现这种情况 它将显示滚动条 要
  • 我可以声明 Type 的变量而不在编译时指定 T 吗?

    如何动态加载 MyContent 类 我有 1interface
  • 如何查看表的日志数据绿屏DB2

    如何查看指定表中的日志数据 我想查看某个表在指定时间范围内发生了什么情况 我使用以下命令获取了表上的信息 DSPFD 文件 P6PRDBDB00 P6OIDPF 获得了日志名称和库 但我不知道如何查看对象 P6OIDPF I did go
  • hive 中的映射类型变量

    我在尝试在配置单元中定义地图类型时遇到问题 根据蜂巢手册肯定有地图类型 不幸的是没有任何关于如何使用它的示例 假设 我有一个包含以下列的表 用户 Name Ph CategoryName 此 CategoryName 列具有一组特定的值 现
  • 为什么在 STL 映射中用作值的类需要...中的默认构造函数?

    下面是用作映射中的值的类 class Book int m nId public Book lt Why is this required Book int id m nId id main 内部 map lt int Book gt ma
  • Android 风格传承

    事情是这样的 在我的 Styles xml 中 我有一个通用样式 并且一个样式继承了另一个样式 如下所示