Android : Theme.xml and Styles.xml?



在Android Studio的新版本中,我看不到styles.xml,但在values目录中,有两个新的XMLtheme.xml,theme.xml(night).

它实际上取代了styles.xml的工作还是如果不同,它们之间的区别是什么??

resvalues中使用XML属性实际上并不依赖于文件名,您可以在另一个文件(如style.xml)中定义任何<string>

您甚至可以更改style.xml的名称为您想要的东西。

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

styles是一个属性集合,它定义了一个特定的ui看起来像什么ex: 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或按钮或布局文件只需:

<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.

现在,当用户在他们的手机上强行切换到开发者模式的黑暗模式时,你的应用程序将立即适应它并改变其UI的颜色。

更多信息可以在这里找到- https://developer.android.com/guide/topics/ui/look-and-feel/themes

相关内容

  • 没有找到相关文章