Android资源文件详解

jopen 11年前

一、color 颜色资源

res/values/Color.Xml文件

<resources>

<color name=”red_bg”>#f00</color >

</resources >

资源文件引用资源文件,设置lovo字体颜色为红色

res/layout/color.xml

<TextView

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:text=”lovo”

android:textColor=”@color/red_bg”>

</TextView >

 

Java代码引用颜色资源:

//引用颜色资源,设置背景色为红色

 getWindow().setBackGroundDrawableResource(R.color.red_bg)

 

二、字符串 string资源

 

res/values/string.Xml文件

<resources>

<string name=”test1_str”>从代码中引用</ string>

<string name=”test2_str”>从资源文件中引用</ string>

</resources >

res/layout/string.xml

资源文件中引用字符串

<TextView

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:text=”@string/test1_str

/>

 

< TextView

Android:id=”@+id/text_view”

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:text=””

/>

代码中设置字符串:

//获取到文本视图对象

TextView text=( TextView)findViewById(R.id.text_view);

//从string资源文件中得到字符串

String str = getString(R.string.test2_str);

//把从资源文件中获取到的字符串显示在文本视图上

text.setText(str);

 

三、尺寸 dimen

尺寸单位:px 绝度像素,是多少就显示多少

           dp和密度无关的像素 在不同的设备上显示的效果相同

           sp和精度无关的像素 一般作为字体的像素

res/values/dimen.Xml文件

<resources>

< dimen name=”text_width”>100dp</dimen >

< dimen name=”btn_width”>120dp dimen>

</resources >

res/layout/btn_layout.xml

资源文件中引用尺寸

<Button android:width=”@dimen/btn_width”

android:id=”@+id/button”/>

//获得按钮对象

Button btn=(Button)findViewById(R.id.button);

//获得resources实例

Resouces r = getResouces();

//通过getDimension()方法获得尺寸值

Float btn_w = r.getDimension(R.dimen.button);

//设置按钮的尺寸

Btn.setWidth((int)btn_w);

 

四、drawables资源

res/layout/pic.Xml文件

<ImageView

android:layout_width=”macth_parent”

android:id=”@+id/pic”

android :background=”@drawable/g”

/>

在代码中获得图片:

//找到ImageView对象

ImageView img = (ImageView)findViewById(R.id.pic);

//得到resources实例

Resouces r = getResouces();

//通过Resouces获得Drawable对象

Drawable d= r.getDrawable(R.drawable.mt);

//设置ImageView的ImageDrawable属性显示图片

Img.setImageDrawable(d);