本博客讲解字符串资源,颜色资源,图像资源和尺寸资源。
1.字符串资源:有助于国际化和本地化。所有字符都位于一个位置,很容易修正。
具体用法:在res/values/strings.xml
<resources> <string name="app_name">Resource</string> <string name="hello_world">Hello World</string> </resources>activity_main.xml中:
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world"/>这样就显示出来在TextView中显示出Hello World啦。
那为什么字符串资源有助于国际化和本地化呢??如果我们想显示中文你好的时候怎么办呢?
我们在res下创建values-zh文件夹,将values文件夹下的strings.xml复制到values-zh中。修改。
<resources> <string name="app_name">资源使用</string> <string name="hello_world">你好</string> </resources>在模拟器上会显示出Hello World.为什么还是显示英文呢,因为模拟器上默认是英文(values是默认的),那么如果我们通过Settings设置成中文的话,就会显示中文的你好啦。(values-zh是显示中文的values的文件夹)。更改起来很方便。
Settings之后:
- 使用纯文本字符串只需要在res/values目录中的一个XML文件中定义,我们的根元素一定是<resources></resources>
如果我们自己新建一个安卓xml文件,可以随便起一个名字。但是根元素一定是<resources></resources>,标签一定是<string name=""></string>,name是键且唯一。
选项中
- 可以从布局文件中引用此字符串。
android:text="@string/hello_world- 可以在代码中引入此字符串
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //在代码中引入 //1.得到Resources Resources resources=getResources(); //2.得到资源中的值 String strTest=resources.getString(R.string.hello_world); Log.i("TEST","字符串为:"+strTest); } } TEST: 字符串为:你好- 如果您想知道其他区域。可以在浏览器中查找。我使用火狐浏览器为例。
2.颜色资源
- Android中的颜色是十六进制的RGB值,提供的样式有4种:#RGB #ARGB #RRGGBB #AARRGGBB(前两位表示透明度)
- 使用颜色资源可在在res/values目录中的一个XML文件中定义
<resources> <color name="red">#ff0000</color> <color name="black">#000000</color> </resources>在XML文件使用用法与字符串一致。
3.图像资源
- Android支持PNG,JPEC和GIF格式的图片。
- 官方建议不要使用GIF格式。PNG是首选格式。
- 使用图像就是将图像问加你放入res/drawable/,作为资源引用。
- 在布局文件中,图像作为@drawable/...引用。
这些存放不同分辨率的图片,要与屏幕的分辨率匹配。
mipmap仅仅用于应用启动图标,可以根据不同分辨率进行优化。其他的图标资源,还是要放到drawable文件夹中。
只要是键必须是小写,不能以数字开头并且不能有中划线。
4.尺寸资源
屏幕级别 | 屏幕密度 | 比率(相对) | 物理大小(英寸) | 像素大小 | 通常的分辨率 |
---|---|---|---|---|---|
mdpi | 160 | 4 1 | 1 | 160 | 320*480 |
hdpi | 240 | 6 1.5 | 1 | 240 | 480*800 |
xhdpi | 320 | 8 2 | 1 | 320 | 720*1280 |
xxhdpi | 480 | 12 3 | 1 | 480 | 1080*1800 |
在dimen.xml文件中: <dimen name="button_width">100dp</dimen> 在activity_main.xml中:
<Button android:layout_width="@dimen/button_width" android:layout_height="wrap_content" />