在较新版本的Android Studio中,我看不到
它实际上是取代了
styles.xml
,但在值目录中,出现了两个新的XML文件:theme.xml
和theme.xml(night)
。它实际上是取代了
styles.xml
的工作吗?还是有什么不同之处?styles.xml
,但在值目录中,出现了两个新的XML文件:theme.xml
和theme.xml(night)
。styles.xml
的工作吗?还是有什么不同之处?在res\values
中使用XML属性并不取决于文件名,你可以像在style.xml中定义<string>
一样定义任何一个属性。
甚至可以将style.xml
的名称更改为您喜欢的名称。
在最近的Android Studio版本中,styles.xml
被themes.xml
取代,但后者提供了暗黑模式的夜间版本。
样式是一组属性,用于定义特定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.
values
文件的名称从来都不重要。它们都会被处理。拥有单独和命名的文件的能力只是为了程序员自己的组织。 - Mike M.