安卓:Theme.xml 和 Styles.xml?

4
在较新版本的Android Studio中,我看不到styles.xml,但在值目录中,出现了两个新的XML文件:theme.xmltheme.xml(night)
它实际上是取代了styles.xml的工作吗?还是有什么不同之处?

2
除了现在的额外夜间模式,它还是同样的东西,只是更恰当地命名而已。实际上,values文件的名称从来都不重要。它们都会被处理。拥有单独和命名的文件的能力只是为了程序员自己的组织。 - Mike M.
2个回答

3

res\values中使用XML属性并不取决于文件名,你可以像在style.xml中定义<string>一样定义任何一个属性。

甚至可以将style.xml的名称更改为您喜欢的名称。

在最近的Android Studio版本中,styles.xmlthemes.xml取代,但后者提供了暗黑模式的夜间版本。


我正在寻找的答案 - hamiid reza Gholami

1

样式是一组属性,用于定义特定UI(例如editText或textView)的外观。主题决定了整个应用程序的外观(单个主题可以有多个样式,这取决于您的设计)。白天和黑夜之间的主题差异在于使您的应用程序适应白天模式和黑夜模式。因为现在在Android操作系统中,您可以强制使用深色模式。

作为开发人员,您需要准备好您的应用程序以适应这种情况。

如何使用

为两个主题分别指定不同的颜色,并在项目中进行标记(以下来自主题文件)。

  <resources xmlns:tools="http://schemas.android.com/tools">
   <!-- Base application theme. -->
   <style name="Theme.<Your app name>" <---- this is autogenrated this wil be the id to be used
   parent="Theme.MaterialComponents.DayNight">
     </style>
     </resources>

要在TextView或Button或Layout文件中使用,只需要:

    <TextView
    android:id="@+id/tv_StackOverflow"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    style="@style/Theme.<Your app name>" /> <---insert your style name inside the theme.

现在,当用户在他们的手机上强制切换到开发者模式中的暗模式时,您的应用程序将立即适应它并更改其用户界面的颜色。
更多信息可以在这里找到 - https://developer.android.com/guide/topics/ui/look-and-feel/themes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接