主题是应用于整个Android应用程序或Activity的样式,而不是单个View。将样式应用为主题时,“活动”或“应用程序”中的每个“视图”都将应用它支持的每个样式属性。
最近,在我们的一款生产应用程序上,透明活动已停止工作。 我的意思是它变成了黑色背景而不是透明背景。当我将活动的背景颜色设置为...
根据单个任意输入颜色生成 Material3 主题并将其应用到活动
我已将我的应用程序设置为使用 Material3 颜色角色和主题,并添加了一个选项来启用使用 DynamicColors 的 Material You 支持。 但是,我也希望用户能够选择一个(
为什么样式不能在 Material3 (Android) 上正常工作?
我正在使用下面的代码向我的应用程序中的 RadioButtons 添加样式。应用程序基本主题的父主题是 Theme.Material3.DayNight.NoActionBar。 下面是代码: <p>我使用下面的代码向我的应用程序中的 RadioButtons 添加样式。该应用程序的基本主题的父主题是 <pre><code>Theme.Material3.DayNight.NoActionBar</code></pre>。</p> <p>以下是代码:</p> <pre><code><style name="RadioStyle"> <item name="android:drawableStart">@drawable/mydrawable</item> <item name="android:button">@drawable/anotherdrawable</item> </style> </code></pre> <p>由于某种原因,<pre><code>drawableStart</code></pre>工作正常,但按钮未显示。我可以手动将它们放入每个单选按钮中,但我想知道为什么它不能正常工作?</p> <p>此外,当我为按钮创建样式时,<pre><code>backgroundTint</code></pre>属性起作用,但<pre><code>android:textColor</code></pre>不起作用。与 <pre><code>Theme.AppCompat.DayNight.NoActionBar</code></pre> 配合使用效果很好,但与 <pre><code>Theme.Material3.DayNight.NoActionBar</code></pre> 配合使用则不然。我不得不使用 <pre><code>colorOnPrimary</code></pre> 属性来代替。如何理解在 <pre><code>Material3</code></pre> 库的情况下何时使用哪个属性?</p> </question> <answer tick="false" vote="0"> <p>我尝试模拟相同的结果,效果非常好。我从您的代码中可以理解的是,您可能在布局中使用了 <pre><code>android:theme</code></pre> 属性而不是 <pre><code>style</code></pre> 。如果是,则在布局中将 <pre><code>android:theme</code></pre> 替换为 <pre><code>style</code></pre>。</p> </answer> </body></html>
我正在使用 Kotlin 开发 Android 应用程序,希望允许用户在浅色和深色主题之间实时切换,而无需重新启动应用程序。我尝试过使用 AppCompatDelegate。
为什么更改设置时主题不改变,而是重新进入应用程序时才改变?喷气背包组成
有一个 mainActivity,其中调用 navHost 并在其中调用抽屉,并从中调用设置屏幕 @AndroidEntryPoint 类 MainActivity : ComponentActivity() { 超越乐趣
Android TitleBar从Flutter 3.16.5升级到3.24.1后不会消失
我们最近将 Flutter 应用程序升级到了 3.24.1,并注意到我们的 Android 应用程序现在持续显示工具栏,似乎无论我对应用程序的主题做什么来解决这个问题。我们知道这是
如何更改 .Net MAUI Android 中的警报样式?
我正在将应用程序从 Xamarin 移植到 .Net MAUI,在 Xamarin 中我在 Android 中使用浅色主题,因此警报具有白色背景,但在 MAUI 中警报具有灰色背景。 我怎样才能
应用程序在处理主题后忽略 windowSplashScreenBackground
我使用 API 进行了非常简单的启动,背景设置正确。然后我开始研究主题并修复错误,当我完成后,应用程序图标仍然显示一个带有正确
在 Markwon 库中,我想添加一个插件,如果以 markdown 格式写入 ![alt text](drawable://icon_name),它将显示应用程序资源中的图像。 下面的代码有效。但是tintCo...
主题切换后,即使调用 onDestroyView(),片段 UI 仍可通过其他片段可见
这是一个奇怪的事情。我有一个标准应用程序,使用选项卡导航,其中包含一个 MainActivity 和四个 Fragment,每当用户单击底部选项卡时,这些片段就会交换。 这是碎片的方式...
我正在尝试在我的应用程序中使用材质组件库中的 SearchBar 和 SearchView 。 这些是材质 3 的新组件。 实现 'com.google.android.material:material:1.12.0'...
我想在主题中创建一个样式并在代码中使用它的值,如下所示: val bgColor = LIST_ITEM_BG_COLOR; val textColor = LIST_ITEM_TEXT_COLOR val 描边颜色 =
在MAUI项目中我想根据应用程序的主题采用不同的colorAccent值。 我尝试采用此解决方案https://learn.microsoft.com/en-us/answers/questions/241870/...
我想为 Android 2.1、2.2、2.3.3、3.0/3.1 和 4.0.x 开发一个应用程序。在这些 API 级别之间,大约有 3 种不同类型的主题。最新的 4.0.x 主题是 Holo。 无论如何...
考虑一下: 样式.xml <item name="theme_color">@color/theme_color_blue</item> 注意...
我需要在白天、夜晚或系统主题中显示应用程序小部件。所有颜色都是通过资源定义的。 如何忽略系统主题并强制使用“白天”或“夜间”资源?我
将 Material 版本更新到 1.11.0 后,默认顶部应用栏颜色发生变化
我设计的应用程序如下所示: 但是将材质库版本从 com.google.android.material:material:1.10.0 更新到 com.google.android.material:material:1.11.0 后,顶部应用栏...
二进制 XML 文件行 #2 为尝试动态实现主题而膨胀类 android.widget.RelativeLayout 时出错
我一直在尝试在我的项目中实现动态它们,但由于某种原因它给出了以下错误。这就是我尝试实现它的方式。 首先我定义了一些自定义属性,例如: <
android - 更改 MaterialToolbar 菜单项图标颜色
我正在创建一个应用程序,其中有一个 MaterialToolbar 小部件。我想将图标颜色设置为白色。 我尝试遵循这个问题中接受的答案,但是,它不起作用。添加
我正在尝试设置一些复选框(框本身,而不是标签)的样式,以便在选中与未选中时具有设定的颜色。 为了促进这一点,我创建了以下主题: <p>我正在尝试设置一些复选框(框本身,而不是标签)的样式,以便在选中与未选中时具有设定的颜色。 为了促进这一点,我创建了以下主题:</p> <pre><code> <style name="checkBoxStyle" parent="Base.Theme.AppCompat"> <item name="colorAccent">#FFFF</item> <item name="android:textColorSecondary">#FF598392</item> <item name="android:textColor">#FFFF</item> <item name="android:layout_height">wrap_content</item> </style> </code></pre> <p>从那里,我在我的活动布局中实现了主题:</p> <pre><code>... <CheckBox android:theme="@style/checkBoxStyle" android:id="@+id/search_ingredients_checkbox" android:text="@string/search_ingredients" /> <CheckBox android:theme="@style/checkBoxStyle" android:id="@+id/search_directions_checkbox" android:text="@string/search_directions" /> ... </code></pre> <p>到目前为止,一切都按预期进行。但是,一旦我尝试单击模拟器中的复选框,复选框颜色就会设置为黑色,并且取消选中的框也是相同的黑色。</p> <p><a href="https://i.sstatic.net/Gi4NAVQE.gif" rel="nofollow noreferrer"><img src="https://cdn.txt58.com/i/AWkuc3N0YXRpYy5uZXQvR2k0TkFWUUUuZ2lm" alt="Example behavior"/></a></p> <p>我还没有向复选框添加任何侦听器,因此据我所知,我没有做任何事情。 我尝试清理/重建项目,并设置新的模拟器。不幸的是,这种行为仍然存在。</p> <p>有谁知道如何阻止这种行为,或者我是否应该以不同的方式设计它?布局管理器说复选框来自 Material3,但使用 <pre><code>Widget.Material3.CompoundButton.CheckBox</code></pre> 作为主题中的父级会弄乱框和标签的颜色和大小。</p> <pre><code>Gradle: com.android.tools.build:gradle:8.3.2 targetSdk: 34 implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.12.0' </code></pre> </question> <answer tick="false" vote="1"> <p>弄清楚了,终于找到了正确的文档来帮助解决这个用例<a href="https://m2.material.io/develop/android/components/checkboxes" rel="nofollow noreferrer">这里</a>。</p> <p>问题在于不知道 <pre><code>buttonTint</code></pre> 使用的“颜色”实际上可以是 <pre><code>selector</code></pre>,您可以在其中指定选中和未选中状态。为此,我创建了一个名为 <pre><code>button_tint.xml</code></pre> 的文件,如上面的链接文档。</p> <pre><code><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/white" android:state_checked="true"/> <item android:alpha="0.38" android:color="@color/tertiary" android:state_enabled="false"/> <item android:color="@color/tertiary"/> </selector> </code></pre> <p>这样,您就可以将其导入到主题文件中的样式中,如下所示:</p> <pre><code><style name="Widget.App.CheckBox" parent="Widget.MaterialComponents.CompoundButton.CheckBox"> <item name="buttonTint">@color/button_tint</item> <item name="android:textColor">@color/white</item> <item name="android:layout_height">wrap_content</item> </style> </code></pre> <p>然后您可以通过在主主题中添加该项目来将其应用到项目中的所有复选框:</p> <pre><code><item name="checkboxStyle">@style/Widget.App.CheckBox</item> </code></pre> <p>或者只是在布局文件中声明样式时指定样式</p> <pre><code><CheckBox android:id="@+id/someTextbox" style="@style/Widget.App.CheckBox" ... </code></pre> </answer> </body></html>