Andrid资源文件使用

1 使用颜色资源文件
先定义colors.xml颜色资源文件,代码如下
<?xmlversion="1.0"encoding="utf-8"?>
<resources>
    <colorname="red_bg">#f00</color>
    <colorname="blue_text">#0000ff</color>
</resources>
然后在activity_main.xml引用颜色资源,代码如下
 <TextView
        android:textColor="@color/blue_text"     //设置视图字体颜色
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world"
         />
然后在MainActivity类上设置视图背景颜色
protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          getWindow().setBackgroundDrawableResource(R.color.red_bg);     //设置视图背景颜色
     }

2 使用字符串(string)常量
字符串引用格式为:"@string/字符串资源名称"

3 使用尺寸(dimen)资源
px           像素                      屏幕上的真实像素表示
in            尺寸                     基于屏幕的物理尺寸
dp           和密度无关的精度  相对屏幕物理密度的抽象单位
sp            和精度无关的像素   和dp相似

获得资源:Resources r = getResources();

dimens.xml代码
<resources>

    <!-- Default screen margins, per the Android Design guidelines. -->
    <dimenname="activity_horizontal_margin">16dp</dimen>
    <dimenname="activity_vertical_margin">16dp</dimen>
    <dimenname="text_width">150px</dimen>//文本宽度
    <dimenname="text_height">100px</dimen>//文本高度
    <dimenname="btn_width">30mm</dimen>     //按钮宽度
    <dimenname="btn_height">10mm</dimen>  //按钮高度

</resources>

使用dimen资源
//通过findViedById获得Button实例
          myButton = (Button)findViewById(R.id.testDimenButton);
          //获得Resource实例
          Resources r = getResources();
          //通过getDimension方法获得尺寸值
          float btn_h = r.getDimension(R.dimen.btn_height);
          float btn_w = r.getDimension(R.dimen.btn_width);
          //设置按钮的宽高
          myButton.setWidth((int)btn_w);
          myButton.setHeight((int)btn_h);

4 使用布局(layout)资源
Android可以将屏幕中组件的布局方式定义在一个XML文件中,可以调用Activity.setContentView()方法将布局文件展示在Activity上。Android通过LayoutInflater类将XML文件中的组件解析为可视化的视图组件

layout.xml代码
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <!-- 以上四个属性分别为命名空间,布局的宽,高(布满视图),组件布局(垂直) -->
    <!-- 以下嵌套一个TableLayout -->

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:stretchColumns="1">

        <TableRow>

            <TextView
                android:id="@+id/layoutTextView01"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/test_view01"
                android:background="@color/bk_col"/>
              <!--
              以上属性:引用组件ID,文本内容,该组件的宽,该组件的高,文本内容,背景颜色 -->
            <EditText
                android:id="@+id/EditText01"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text=""/>
        </TableRow>

        <TableRowandroid:gravity="right">

            <Button
                android:id="@+id/layoutButton01"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/button_string"/>
        </TableRow>
    </TableLayout>

</LinearLayout>
使用布局资源测试
public class MainActivity extends Activity {
     //定义组件
     private Button myButton;
     private EditText myEditText;
     private TextView myTextView;
    
     @Override
     protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          //设置Activity的界面布局
          setContentView(R.layout.layout);
          //展示组件
          myTextView = (TextView)findViewById(R.id.layoutTextView01);
          myButton = (Button)findViewById(R.id.layoutButton01);
          myEditText = (EditText)findViewById(R.id.EditText01);
         
     }
5 使用菜单(menu)资源
Android菜单分为选项菜单,上下文菜单和子菜单
结构组成: <menu>根元素,在<menu>根元素里面会嵌套<item>和<group>子元素,<item>元素中也可嵌套<menu>形成子菜单
<group>表示一个菜单组,属性说明:
id:唯一标示该菜单组的引用id
menuCategory:对菜单进行分类,定义菜单的有限级,有效值为container,system,secondary,alternative
orderInCategory:一个分类排序整数
checkableBehavior:选择行为,单选,多选还是其他,有效值为none,all,single
visible:是否可见,true或者false
enabled:是否可用,true或者false
<item>表示菜单项,包含在<menu>或<group>中的有效属性,<item>元素的属性说明:
id:唯一标示菜单的ID引用
menuCategory:菜单分类
orderInCategory:分类排序
title:菜单标题字符串
titleCondensed:浓缩标题,适合标题太长的时候使用
icon:菜单的图标
alphabticShortcut:字符快捷键
numericShortcut:数字快捷键
checkable:是否可选
checked:是否已经被选
visible:是否可见
enabled:是否可用


你可能感兴趣的:(Andrid资源文件使用)