一、资源的管理与使用
1.图片资源
一般应用图标资源存放在以mipmap开头的文件夹中,界面中使用的图片资源存放在以drawable开头的文件夹中。如果想调用图片资源文件,调用方式有两种,如下:
(1)通过Java代码来调用图片资源
在activity中通过getResources().getDrawable()方法调用图片资源。
getResources().getDrawable(R.mipmap.peach);
getResources().getDrawable(R.drawable.icon);
(2)在xml布局文件中调用。
在XML布局文件中调用图片资源。
@mipmap/peach
@drawable/icon
2.主题和样式资源
2.1主题
在程序的res/values/中styles.xml文件中定义主题,<style></style>标签定义主题。<style></style>标签中的<item></item>标签用于设置主题的样式。
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorGreen</item>
<item name="colorAccent">@color/colorRed</item>
</style>
</resources>
调用styles.xml文件中定义的主题,可以在AndroidManifest.xml文件中设置,也可以在代码中设置。如下:
(1)在AndroidManifest.xml文件中设置主题
<application
android:allowBackup="true"
...
android:theme="@style/AppTheme">
</application>
(2)在Java代码中设置主题
setTheme(R.style.AppTheme);
2.2样式
主题不能设置View控件的具体样式,可以通过样式来进行设置,样式存放在res/values/styles.xml中,可以通过<style></style>标签中的name属性设置样式名称,<item></item>标签用于设置控件的样式。在布局文件中可以通过style属性引用titleStyle样式。
<resources>
<style name="titleStyle">
<item name="android:layout_width">20dp</item>
<item name="android:layout_height">20dp</item>
<item name="android:background>#f54e39</item>
</style>
</resources>
<TextView
....
style="@style/titleStyle"/>
3.布局资源
在程序的res目录下有一个layout文件夹,文件夹中存放了程序中的所有布局资源文件。调用方式有两种,如调用activity_main.xml文件,如下:
(1)通过Java代码来调用
在activity中找到onCreate()方法,在方法中通过setContentView()加载对应的布局资源文件。
setContentView(R.layout.activity_main.xml);
(2)在xml布局文件中调用。
在XML布局文件中通过<include>标签来调用其他的布局资源文件。
<include layout="@layout/activity_main"/>
4.字符串资源
在程序的res/values/中strings.xml文件中定义字符串,<string></string>标签定义字符串资源。
<resources>
<string name="app_name">字符串</string>
</resources>
调用方式有两种,调用名称为app_name的字符串资源如下:
(1)通过Java代码来调用
在activity中找到onCreate()方法,在方法中通过getResources().getString()方法加载字符串资源。
getResources().getString(R.string.app_name);
(2)在xml布局文件中调用。
在XML布局文件中通过@string调用字符串资源文件。
@string/app_name
5.颜色资源
在程序的res/values/colors.xml文件中定义颜色,<color></color>标签定义字符串资源。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorBlue">#3CB371</color>
<color name="colorBlueDark">#0097A7</color>
<color name="colorBlueLight">#AACBDE</color>
</resources>
调用方式有两种,调用名称为colorBlue的颜色资源如下:
(1)通过Java代码来调用
在activity中找到onCreate()方法,在方法中通过getResources().getColor()方法加载字符串资源。
getResources().getColor(R.color.colorBlue);
(2)在xml布局文件中调用。
在XML布局文件中通过@color调用颜色资源文件。
@color/colorBlue