如何为布局设置不同的主题

2024-02-06

我已经为整个应用程序设置了默认主题。它在 styles.xml 中定义如下:

    <style name="DefaultTheme" parent="@android:style/Theme.Holo.Light">
        <!-- Customization here -->
    </style>

我还定义了一个黑暗主题:

    <style name="DarkTheme" parent="@android:style/Theme.Holo">
        <!-- Customization here -->
    </style>

在清单中,它被声明为应用程序的主主题:浅色主题:

    <application
    ...
    android:theme="@style/DefaultTheme" >

现在这工作正常,但在活动中,我需要为单个布局设置不同的主题。像这样的事情:

    +--------------------------------------------------+
    |         Parent Linear layout (default theme)     |
    |                                                  |
    | +------------------------------------+ +-------+ |
    | |                                    | |       | |
    | |     Left linear layout             | |       | |
    | |     (default theme)                | |       | |
    | |                                    | |       | |
    | |                                    | |       | |
    | |                                    | |    ·<----------- Right Linear Layout
    | |                                    | |       | |        (Need it in dark theme)
    | |                                    | |       | |
    | |                                    | |       | |
    | +------------------------------------+ +-------+ |
    +--------------------------------------------------+

在布局 xml 文件中,我尝试为最右边的子 LinearLayout 设置主题:

    <LinearLayout
    style="@style/DarkTheme">
    ...

我希望这能正常工作,并且仅将深色主题应用于正确的布局(及其子视图),但它不起作用。我尝试用内置的 @android:style 替换 @style 但无济于事。我已经在布局编辑器和真实设备/模拟器上对此进行了测试。

是否可以将自定义主题或样式应用于单个布局?


现在可以通过使用android:theme视图上的属性并将其设置为您喜欢的任何主题。请注意,子视图将继承其父视图的主题。

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

如何为布局设置不同的主题 的相关文章

  • 在 React 中切换 css 类

    如何使用布尔值切换 React 中元素上 css 类的存在 在 Angular 2 中我可以这样做 class red isRed 如何在 React 中做熟悉的事情 在 React 中 元素使用如下语法获取它们的类 div div 但请注
  • 找不到 com.google.firebase:firebase-core:9.0.0 [重复]

    这个问题在这里已经有答案了 在遵循有些不一致的指示之后here https firebase google com docs admob android quick start name your project and here http
  • 谷歌坐标认证

    当我尝试连接到 Google 坐标时 总是出现异常GoogleAuthException 我拥有 Google 地图协调中心许可证 我确实使用我的包应用程序名称和 SHA1 在 google 控制台中创建了我的客户端 ID 我将权限添加到清
  • 当文本输入聚焦在 React Native for Android 的底部工作表上时,视图移出屏幕

    我正在使用图书馆 https github com osdnk react native reanimated bottom sheet https github com osdnk react native reanimated bott
  • 是否必须删除 Intent extra?

    这可能是一个愚蠢的问题 但是是否有一条规则规定消费活动必须显式删除 Intent 额外内容 或者只有在回收 Intent 对象时才如此 换句话说 如果我总是通过执行以下操作来链接到下一个活动 Intent i new Intent MyCu
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • 无法访问 com.google.android.gms.internal.zzbfm 的 zzbfm 类文件未找到

    我正在将我的 Android 应用程序项目从GCM to FCM 为此 我使用 Android Studio 中的 Firebase 助手工具 并遵循 Google 开发人员指南中的说明 一切都很顺利 并将我的应用程序代码更改为FCM根据助
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • 发布android后更改应用内购买项目的价格

    在 Google Play 上发布后 是否可以更改应用内购买商品的价格 我假设该应用程序也已发布 完整的在线文档位于http developer android com http developer android com也http sup
  • 获取当前 android.intent.category.LAUNCHER 活动的实例

    我创建了一个库项目 并在多个应用程序之间共享 我实现了一个简单的会话过期功能 该功能将在一段时间后将用户踢回到登录屏幕 登录屏幕活动是我的主要活动 因此在清单中它看起来像这样
  • Ubuntu 16.04 - Genymotion:找不到 /dev/hw_random

    I install Genymotion on the Ubuntu 16 04 64Bit I created a virtual emulator for Android 6 0 then I run this emulator but
  • 如何使用InputConnectionWrapper?

    我有一个EditText 现在我想获取用户对此所做的所有更改EditText并在手动将它们插入之前使用它们EditText 我不希望用户直接更改中的文本EditText 这只能由我的代码完成 例如通过使用replace or setText
  • 在 android DatePickerDialog 中将语言设置为法语

    有什么办法可以让日期显示在DatePickerDialog用法语 我已经搜索过这个但没有找到结果 这是我的代码 Calendar c Calendar getInstance picker new DatePickerDialog Paym
  • 增加活动的屏幕亮度

    显然 Android 操作系统中至少有三种不同的技术可以改变屏幕亮度 其中两个在纸杯蛋糕之后不再起作用 而第三个被接受的技术显然有一个错误 我想在单视图活动开始时增加屏幕亮度 然后在活动结束时将亮度恢复为用户设置 没有按钮 没有第二个视图或
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以
  • android sdk 的位置尚未在 Windows 操作系统的首选项中设置

    在 Eclipse 上 我转到 windows gt Android SDK 和 AVD Manager 然后弹出此消息 Android sdk 的位置尚未在首选项中设置 进入首选项 在侧边栏找到 Android 然后会出现一个 SDK 位
  • 从 FileReader 设置背景图像样式

    我正在寻找一种解决方案 允许我从文件上传输入中获取文件并通过设置 document body style backgroundImage 来预览它 以下代码用于在 Image 元素中显示预览 function setImage id tar
  • Crashlytics 出现 Android Studio 构建错误

    我正在尝试将 CrashLytics 与 Android Studio 和 gradle 一起使用 但出现一个令人困惑的错误 java lang NoSuchMethodError 我的 build gradle 是 buildscript
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview
  • 强制 Listview 不重复使用视图(复选框)

    我做了一个定制Listview 没有覆盖getView 方法 Listview 中的每个项目都具有以下布局 联系布局 xml

随机推荐

  • 如何在 Java Swing 工具栏中创建“下拉”菜单?

    我在 Swing JToolBar 上创建了一个下拉菜单 但它并没有按照我想要的方式创造行为 我的目标是让它像 Firefox 的 智能书签 按钮一样工作 当用户选择菜单项时它会消失 正确 当用户按 ESC 时它消失 正确 当用户单击菜单之
  • 为什么 swift 中没有 PerformSelector

    显然以下内容在 swift 中不再可用 self performSelector selector onFlip withObject nil afterDelay 0 3 如果仍然存在以下情况 为什么会出现这种情况 NSObject ca
  • 发现多种类型与名为“Account”的控制器匹配。 MVC 4 和使用 RouteConfig.CS

    我目前在同一文件夹中有 2 个项目 主要的 Project1 Project2 Problem 发现多种类型与名为的控制器匹配Account 如果服务此请求的路由可能会发生这种情况 controller action id 不指定命名空间来
  • 错误 rxjs_Observable__.Observable.forkJoin 不是函数?

    我在用Rxjs in an angualr cli应用 在viewer component ts中 Other Imports import Observable from rxjs Observable omitting for brev
  • 如何使用Python连接WiFi网络? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试用 Python 编写一个脚本 该脚本将使我能够搜索无线网络并连接到它们 有没有为此目的的Python 库 None
  • 任何使用 Red Gate 的 SQL 源代码控制的人

    我们一直在寻找 SQL 源代码控制的可能解决方案 我刚刚遇到 Red Gates SQL 源代码控制 想知道是否有人实现了它 我打算下载试用版并尝试一下 但只是想看看其他人是否有真实的体验 一如既往地非常感谢您的投入 S 我更新了下面的原始
  • 在字符串中插入填充空格

    非常基本的问题 但很难形成可接受的形式 我想通过每 3 个空格插入一个填充来转换字符串 例如 123456789 gt 123 456 789 abcdefgh gt abc def gh 我的代码目前是 public String toS
  • 如何只保存差异

    我有一个创建记录的函数 如下所示 func A db gorm DB b C error d e for f range b d append d g f return db Save d Error 我希望能够上传一些数据 可能是相同的
  • 如何将本地图像显示到控制台?

    我刚刚注意到javascript with css使之成为可能在开发者控制台中显示不同的样式 当然 这也使得在控制台中显示图像成为可能 由于我可以很好地在我的项目中使用这个功能 所以我想直接尝试一下 没有成功 使用下面的代码 我从这篇文章中
  • PHPWord addTOC 不显示页码

    我在用着https github com PHPOffice PHPWord https github com PHPOffice PHPWord生成word文档 函数 addTOC 生成带有标题的页面索引 但由于某种原因 页码不显示 ad
  • Three.js:将 3d 位置转换为 2d 屏幕位置

    我有一个位置为 x y z 的 3D 对象 如何计算该对象的屏幕位置 x y 我已经搜索过它 一个解决方案是我必须找出投影矩阵 然后将 3D 位置点乘以该矩阵 将其投影到某个 2D 观看表面 计算机屏幕 上 但我不知道如何在 Three j
  • 如何在 Google 日历中使用别名?

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我有一个谷歌帐户 比如说 电子邮件受保护 cdn cgi l email protection
  • Fluent Validation 不会在第一次验证整个表单

    所以我在表单上使用 Fluent Validation 当我单击提交但未输入任何内容时 我收到出生日期验证错误 如果我输入 DoB 则会获得名字验证 为什么会发生这种情况 我不明白我连接错了什么 My form using Html Beg
  • 如何在数据库中保存时区信息?

    我正在使用 GWT Hibernate 我有一个使用 GWT 创建的表单 它有一个日期字段 用户可以在其中选择日期 还有一个下拉菜单 其中显示所有时区 现在用户从下拉列表中选择日期和时区 单击 保存 按钮时 我需要保存日期和时区信息 此外
  • 打开连接时尝试使用 Advantage OLE DB 提供程序访问 DBF 文件会引发异常

    我有一个 ASP NET MVC 应用程序 它试图打开以下 OLE DB 连接 string conString Provider Advantage OLE DB Provider Data Source dbfFilePath Exte
  • Python:如何在文档测试中定义类?

    我想使用 doctest 注释块来演示特定基类的用法 但这要么不能用 doctest 完成 要么我做错了什么 这是我的简单演示代码 class MyClass object gt gt gt m MyClass gt gt gt print
  • SQLite 数据库存储在磁盘上的什么位置?

    SQLite 数据库存储在哪里 即创建时 Windows 7 上的目录路径 SQLite 数据库是一个常规文件 它是在您的脚本当前目录中创建的
  • 将 bootstrap 3 glypicons 与 webjar 和 jsf2.2 一起使用

    我正在尝试在 jsf 2 2 中使用 bootstrap 和 glypicons 制作一个简单的页面 我已经包含了 webjar 的引导依赖项 打开 jar 我可以看到字体文件存在 将应用程序部署到 wildfly 时 引导 css 可以正
  • 使用 jQuery 更改输入字段的类型

    document ready function login box password field password attr type text password val Password 这应该会改变 password输入字段 带有id
  • 如何为布局设置不同的主题

    我已经为整个应用程序设置了默认主题 它在 styles xml 中定义如下 我还定义了一个黑暗主题 在清单中 它被声明为应用程序的主主题 浅色主题