创建一个不同于 res/values/styles.xml 的目录来定义样式
Create a different directory other than res/values/styles.xml to define styles
如题中所问,请问有什么办法吗?
现在,当我将所有样式放在一个文件中时,它看起来有点拥挤,我想将样式分开。
例如:
res/values/styles_for_main_screen
res/values/styles_for_set_screen
然后在main_screen布局
<TextView
style="@styles_for_main_screen/text_view_custom_style">
</TextView>
这个例子显然行不通,但它显示了我想要实现的目标。
我在每个教程中都读到我们需要将自定义样式放入 styles.xml
文件中,但我想知道是否有可能在几个 xml 文件中使样式多样化?
我读到的每个问题都类似于 "how to do .... in styles.xml"。
我找不到与我类似的问题。
示例应该如何完成,感谢@Frank N. Stein 的回答:
这是我的习惯 xml res/values/styles_for_main_screen
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="custom_back">
<item name="android:background">#E81C1C</item>
<item name="android:text">whatr</item>
</style>
</resources>
然后为了检索我刚刚写的样式:
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
style="@style/custom_back"
/>
约定如下:
style="@(what I want to retrieve)/(name of style)"
In XML: @[package:]style/style_name
您可以随意调用您的样式文件(如果您遵守命名约定并将它们全部放在值 folder/s 中),就像您对字符串和颜色所做的那样。
因此,是的!如果你愿意,你可以有多个。
显然,您不会指定每个文件的路径。
使用 R.style.your_new_style
引用 style/s 就足够了。
请记住,android 通过读取文件内容来扫描在 /values 目录中找到的文件。对于样式,每个 <style name="styleName" > ... </style>
都将成为解析器并创建一个样式对象引用。
然后,正如弗兰克所说,是的。您可以使用任何文件名来编写您的自定义样式。
如题中所问,请问有什么办法吗?
现在,当我将所有样式放在一个文件中时,它看起来有点拥挤,我想将样式分开。
例如:
res/values/styles_for_main_screen
res/values/styles_for_set_screen
然后在main_screen布局
<TextView
style="@styles_for_main_screen/text_view_custom_style">
</TextView>
这个例子显然行不通,但它显示了我想要实现的目标。
我在每个教程中都读到我们需要将自定义样式放入 styles.xml
文件中,但我想知道是否有可能在几个 xml 文件中使样式多样化?
我读到的每个问题都类似于 "how to do .... in styles.xml"。
我找不到与我类似的问题。
示例应该如何完成,感谢@Frank N. Stein 的回答:
这是我的习惯 xml res/values/styles_for_main_screen
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="custom_back">
<item name="android:background">#E81C1C</item>
<item name="android:text">whatr</item>
</style>
</resources>
然后为了检索我刚刚写的样式:
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
style="@style/custom_back"
/>
约定如下:
style="@(what I want to retrieve)/(name of style)"
In XML: @[package:]style/style_name
您可以随意调用您的样式文件(如果您遵守命名约定并将它们全部放在值 folder/s 中),就像您对字符串和颜色所做的那样。
因此,是的!如果你愿意,你可以有多个。
显然,您不会指定每个文件的路径。
使用 R.style.your_new_style
引用 style/s 就足够了。
请记住,android 通过读取文件内容来扫描在 /values 目录中找到的文件。对于样式,每个 <style name="styleName" > ... </style>
都将成为解析器并创建一个样式对象引用。
然后,正如弗兰克所说,是的。您可以使用任何文件名来编写您的自定义样式。