欢迎回来Android入门教程的第十三期,本期来介绍一下values内的colors.xml、strings.xml、styles.xml三个文件的使用。

上期传送门:#12 Android入门教程 – 使用Glide框架加载图片 – LovelyCat的小站 (lovelycatv.cn)

下期传送门:#14 Android入门教程 – Toast – LovelyCat的小站 (lovelycatv.cn)

不知道你有没有想过,我们是不是可以创造一个常量池来储存一些重复数据呢,或许你在做其他项目的多语言时,会创建多个语言文件来储存不同语言的字符串资源。那么Android中,values文件夹就可以看做是一个常量池,下面就来逐个介绍它们。

1.colors.xml

进入colors.xml中,你会看到如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#008577</color>
    <color name="colorPrimaryDark">#00574B</color>
    <color name="colorAccent">#D81B60</color>
</resources>

在这个文件中,一个<color>对应一种颜色,前两个primary的颜色是默认被styles.xml调用,可以自己前往看一看。下面我们试着修改这两个颜色的值:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3a9fff</color>
    <color name="colorPrimaryDark">#3a9fff</color>
    <color name="colorAccent">#D81B60</color>
</resources>

这里我将两种颜色都改为了#3a9fff

那么试着运行一下试试:

可以看到APP的配色已经被修改成了蓝色,那么你还可以像下面这样添加你自己的颜色。我们在布局中调用,直接使用@color/颜色名称 即可,代码中使用<Activity>.getColor(R.color.颜色名称)。

    <color name="minecraft_MoNang">#1d1d21</color>
    <color name="minecraft_MeiGuiHong">#b02e26</color>
    <color name="minecraft_XianRenZhangLv">#5e7c16</color>
    <color name="minecraft_KeKeDou">#835432</color>
    <color name="minecraft_QingJinShi">#3c44aa</color>
    <color name="minecraft_Zi">#8932b8</color>
    <color name="minecraft_Qing">#169c9c</color>
    <color name="minecraft_DanHui">#9d9d97</color>
    <color name="minecraft_Hui">#474f52</color>
    <color name="minecraft_Pink">#f38baa</color>
    <color name="minecraft_YellowGreen">#80c71f</color>
    <color name="minecraft_PuGongYingHuang">#fed83d</color>
    <color name="minecraft_DanLan">#3ab3da</color>
    <color name="minecraft_PinHong">#c74ebc</color>
    <color name="minecraft_Orange">#f9801d</color>
    <color name="minecraft_GuHui">#f9fffe</color>

emmmm那么上面就是Minecraft中的所有颜色,看名字识颜色咯,下面放一张图。

2.strings.xml

Strings顾名思义就是字符串嘛,那么它就是个字符串常量池,初始里面只有app_name,是被AndroidManifest.xml调用了,所以你可以直接修改它来更改你的APP名称,那么这个和添加颜色是一样的,就不再举例说明了。

3.styles.xml

styles.xml文件储存了app的样式,默认使用的是AppTheme,你可以前往AndroidManifest.xml或具体的布局文件中修改theme成你想要的样式。这个文件初始只有一个AppTheme,每一个style代表一种样式,内部可以添加许多item来自定义它,它不仅可以用于Activity的布局,也可以用于各种组件,下面就来拿TextView举例:

我们知道TextView有许多属性如字体颜色、字体大小等,那么如果我们要重复创建很多样式重复的TextView,是不是要在每个TextView都添加重复属性呢,这时候我们就可以使用styles.xml添加一个它们共同的样式,如下所示:

    <style name="MyTextView">
        <item name="android:textColor">@color/colorPrimary</item>
        <item name="android:textSize">18sp</item>
    </style>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="这里是MainActivity"
        android:theme="@style/MyTextView"/>

可以看到这个TextView已经变成了蓝色,字体大小是18sp。那么以此类推item的name就相当于是组件的属性,你可以编写一个通用的样式,并直接使用android:theme为组件添加,避免重复代码。

那么本期教程就到此结束了,感谢观看!


0 条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注