字符串、颜色、尺寸资源文件
这三种文件位于res文件夹的values文件夹中,名称分别为strings.xml , colors.xml , dimens.xml
下面是例子,首先来看字符串资源文件strings.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <string name="app_name">My Application123</string>
  4. <string name="c1">F00</string>
  5. <string name="c2">0F0</string>
  6. <string name="c3">00F</string>
  7. ......
  8. </resources>

然后是颜色资源文件colors.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <color name="colorPrimary">#3F51B5</color>
  4. <color name="colorPrimaryDark">#303F9F</color>
  5. <color name="colorAccent">#FF4081</color>
  6. <color name="c1">#F00</color>
  7. <color name="c2">#0F0</color>
  8. <color name="c3">#00F</color>
  9. ......
  10. </resources>

以及尺寸资源文件dimens.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <dimen name="spacing">8dp</dimen>
  4. <dimen name="cell_width">60dp</dimen>
  5. <dimen name="cell_hight">66dp</dimen>
  6. <dimen name="title_font_size">18sp</dimen>
  7. </resources>

从这几个文件可以观察到这些资源文件里定义资源的格式类似,name就是该资源的变量名称,中间就是元素的值
<>符号中间就是资源文件类型。

创建好资源文件后就可以使用这些资源了

  1. <TextView
  2. android:id="@+id/text01"
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content"
  5. android:text="@string/c1"
  6. android:textColor="@color/c1"
  7. android:textSize="@dimen/title_font_size"
  8. />

从这个例子中可以看到该TextView的内容,字体颜色,字体大小都是使用资源文件而不是直接定义

最后显示出来一个写着F00,字体颜色为红色,字体大小为18sp的TextView

接下来是数组资源,Android并不推荐在Java代码中定义数组,因为Android允许通过资源文件定义数组资源
来看一个例子

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <array name="plain_arr">
  4. <item>@color/c1</item> //该数组里的值引用了color.xml
  5. <item>@color/c2</item>
  6. <item>@color/c3</item>
  7. ........
  8. </array>
  9. <string-array name="string_arr">
  10. <item>@string/c1</item> //该数组里的值引用了string.xml
  11. <item>@string/c2</item>
  12. <item>@string/c3</item>
  13. ........
  14. </string-array>
  15. </resources>

然后布局文件中创建一个GridView

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical"
  6. android:layout_gravity="center_horizontal"
  7. >
  8. <GridView
  9. android:id="@+id/grid01"
  10. android:layout_width="wrap_content"
  11. android:layout_height="wrap_content"
  12. android:numColumns="3"/>
  13. </LinearLayout>

然后在Java代码中引用资源

  1. public class MainActivity extends AppCompatActivity {
  2. String[] texts;
  3. @Override
  4. protected void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.activity_main);
  7. //通过这种方式让texts数组得到值
  8. texts = getResources().getStringArray(R.array.string_arr);
  9. BaseAdapter ba = new BaseAdapter() {
  10. @Override
  11. public int getCount() {
  12. return texts.length;
  13. }
  14.  
  15. @Override
  16. public Object getItem(int position) {
  17. return texts[position];
  18. }
  19.  
  20. @Override
  21. public long getItemId(int position) {
  22. return position;
  23. }
  24.  
  25. @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
  26. @Override
  27. public View getView(int position, View convertView, ViewGroup parent) {
  28. TextView text = new TextView(MainActivity.this);
  29. Resources res = MainActivity.this.getResources();
  30. //通过这种方式设置宽和高
  31. text.setWidth((int) res.getDimension(R.dimen.cell_width));
  32. text.setHeight((int) res.getDimension(R.dimen.cell_hight));
  33. text.setText(texts[position]);
  34. //使用数组资源
  35. TypedArray icons = res.obtainTypedArray(R.array.plain_arr);
  36. //设置背景颜色
  37. text.setBackground(icons.getDrawable(position));
  38. text.setTextSize(20);
  39. return text;
  40. }
  41. };
  42. GridView grid = (GridView) findViewById(R.id.grid01);
  43. grid.setAdapter(ba);
  44. }
  45. }

综上可以看出在XML中使用资源语法格式为:@[<package_name>:]<resource_type>/<resource_name>
而在Java代码中使用资源的格式为:<package_name>.R.<resource_type>/<resource_name>

Android字符串,颜色,尺寸资源的使用的更多相关文章

  1. 【Android 应用开发】Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19913755 . 一. Android资源文件简介 1 ...

  2. Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组

    一. Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, ...

  3. Android学习笔记尺寸资源

    尺寸资源语法 dp:设备独立资源像素 会根据设备匹配大小 一般用于设置边距和组件大小 sp : 可伸缩像素 根据用户手机字体大小首选项进行缩放 使用尺寸资源 定义尺寸资源 dimens <?xm ...

  4. Android:dimen尺寸资源文件的使用(转)

    为了适配不同的分辨率. dimen.xml在values文件夹下面 <resources> <!-- Default screen margins, per the Android ...

  5. Android:dimen尺寸资源文件的使用

    dimen.xml在values文件夹下面 <resources> <!-- Default screen margins, per the Android Design guide ...

  6. Android使用应用程序资源(、颜色数组、尺寸、弦、布尔、整型)

    一.Android资源分类详细解释   1.Android资源类别 Android中的资源分为两大类 : 可直接訪问的资源, 无法直接訪问的原生资源; -- 直接訪问资源 : 这些资源能够使用 R. ...

  7. <Android>资源的访问,颜色、字符串、尺寸、XML、DRAWABLES资源分使用

    1.资源的访问 代码中使用Context的getResources()方法得到Resources对象,访问自己定义的资源R.资源文件类型.资源文件名称,访问系统定义的资源android.R. 资源文件 ...

  8. Android开发---如何操作资源目录中的资源文件3--圆角边框、背景颜色渐变效果、边框颜色

    Android开发---如何操作资源目录中的资源文件3 效果图 1.圆角边框 2.背景颜色渐变效果 1.activity_main.xml 描述: 定义了一个shape资源管理按钮 <?xml ...

  9. Android字符串及字符串资源的格式化

    为什么要写这一篇随笔呢?最近做项目的过程中,遇到很多页面在要显示文本时,有一部分是固定的文本,有一部分是动态获取的,并且格式各式各样.一开始采取比较笨的办法,把他拆分成一个个文本控件,然后对不同的控件 ...

随机推荐

  1. WSL用xshell连接

    编辑配置文件 sudo vim /etc/ssh/sshd_config Port 8022(因为 Windows 10 的 SSH 端口已经默认被占用,所以我换成了一个新的端口) (去掉前面的 #) ...

  2. 【原创】大数据基础之Hive(1)Hive SQL执行过程之代码流程

    hive 2.1 hive执行sql有两种方式: 执行hive命令,又细分为hive -e,hive -f,hive交互式: 执行beeline命令,beeline会连接远程thrift server ...

  3. matplotlib学习笔记

    1.简介 matplotlib是python的一个2D绘图库,它可以在不同平台上地使用多种通用的绘图格式(hardcopy formats)和交互环境绘制出出版物质量级别的图片.matplotlib可 ...

  4. Unable to find header files

    在本模块导出头文件时,可以使用如下方式: LOCAL_EXPORT_C_INCLUDE_DIRS := $(MY_DIRECTORY_PATH) LOCAL_EXPORT_C_INCLUDES := ...

  5. Canvas 画占比图 解决canvas锯齿 bug

    案例如图: <section class=" chartWrap"> <div class="chartContent"> <di ...

  6. python模拟鼠标键盘操作 GhostMouse tinytask 调用外部脚本或程序 autopy右键另存为

    0.关键实现:程序窗口前置 python 通过js控制滚动条拉取全文 通过psutil获取pid窗口句柄,通过win32gui使程序窗口前置 通过pyauto实现右键菜单和另存为操作 1.参考 aut ...

  7. 图论算法之DFS与BFS

    概述(总) DFS是算法中图论部分中最基本的算法之一.对于算法入门者而言,这是一个必须掌握的基本算法.它的算法思想可以运用在很多地方,利用它可以解决很多实际问题,但是深入掌握其原理是我们灵活运用它的关 ...

  8. C语言面对对象设计模式汇编

    面向对象发展到今天,已经出现了许许多多优秀的实践.方法和技术.很多的技术都能够有效的提高软件质量.IBM上的<面向对象软件开发和过程>系列文章对面对对象设计从如下层面进行了详细的介绍:代码 ...

  9. CSS(四)

    css元素溢出 当子元素的尺寸超过父元素的尺寸时,需要设置父元素显示溢出的子元素的方式,设置的方法是通过overflow属性来设置. overflow的设置项: 1.visible 默认值.内容不会被 ...

  10. Java面试宝典2018

    转 Java面试宝典2018 一. Java基础部分…………………………………………………………………………………….. 7 1.一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制 ...