Android : Theme.xml 和 Styles.xml?

Android : Theme.xml and Styles.xml?

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

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

res\values 中使用 XML 属性实际上并不依赖于文件名,您可以在 style.xml 等另一个文件中定义其中任何一个 <string> .

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

在最近的 Android 工作室版本中 styles.xmlthemes.xml 取代,但后者提供了深色模式的夜间版本。

styles 是一组属性,它定义了某个 ui 的外观 例如:editText 或 textView 主题同时决定了整个应用的外观(单个theme can have multiple styles depends on your design), theme day and night 的区别在于让你的app适配day mode和night mode。因为现在 android OS 你可以强制使用暗模式。

作为开发者,您需要为此准备您的应用程序。

如何使用这个

为项目中标记的两个主题赋予不同的颜色(以下来自主题文件)

  <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
    android:id="@+id/tv_Whosebug"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    style="@style/Theme.<Your app name>" /> <---insert your style name inside the theme.

现在,当用户在 phone 的开发者模式下强制开启深色模式时,您的应用会立即适应它并更改其 UI.

的颜色

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