码迷,mamicode.com
首页 > 移动开发 > 详细

Android学习二:Resources

时间:2015-07-27 09:25:39      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

Resources在Android体系中非常重要,常用的Resources有strings,colors,bitmaps和layouts等,你可以修改这些文件的值而不用去重新编译程序。在android中有非常多的resource类型,在这里我们主要讨论学习常用的类型。

  • String Resources

     android的strings文件放在res/values目录下面,你可以定义一个或多个XML文件来存放strings值,文件名可以随意取,不过经常情况下你看到的文件名是

strings.xml。

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">hello</string>
<string name="app_name">hello appname</string>
</resources>

在程序中使用时:R.string.hello;R.string.app_name。

  • Layout Resources

    在android中窗口的布局通常都是通过xml文件来完成的,文件一般放在res/layout目录下面。

public class HelloWorldActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = (TextView)this.findViewById(R.id.text1);
tv.setText("Try this text instead");
}
...
}

代码中红色部分说明设置此Activity的view的布局文件是layout下的main.xml文件。

比如main.xml文件代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button android:id="@+id/b1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>

  • 引用Resources

Resource的引用语法结构是:@[package:]type/name。常用的

  • R.string
  • R.id
  • R.drawable
  • R.layout
  • R.attr
  • R.plural
  • R.array

在res目录下有一些重要的文件类型目录我们需要知道:

  • anim:  编译动画文件。
  • drawable:  Bitmaps.
  • layout: 定义UI和view。
  • values:Arrays,strings,colors,dimensions和styles。
  • xml: xml文件。
  • raw:Noncompiles raw files。
  • String Arrays的用法
<resources ....>
......Other resources
<string-array name="test_array">
<item>one</item>
<item>two</item>
<item>three</item>
</string-array>
......Other resources
</resources>

在代码中引用时:

//Get access to Resources object from an Activity
Resources res = your-activity.getResources();
String strings[] = res.getStringArray(R.array.test_array);

  • Plurals
<resources...>
<plurals name="eggs_in_a_nest_text">
<item quantity="one">There is 1 egg</item>
<item quantity="other">There are %d eggs</item>
</plurals>
</resources>
Resources res = your-activity.getResources();
String s1 = res.getQuantityString(R.plurals.eggs_in_a_nest_text, 0,0);
String s2 = res.getQuantityString(R.plurals.eggs_in_a_nest_text, 1,1);
String s3 = res.getQuantityString(R.plurals.eggs_in_a_nest_text, 2,2);
String s4 = res.getQuantityString(R.plurals.eggs_in_a_nest_text, 10,10);

Android学习二:Resources

标签:

原文地址:http://www.cnblogs.com/zjmsky/p/4679168.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!