Android开发中,所需要的资源都存在res/目录下,然后系统会自动生成对应的id,我们就可以直接通过key去访问所需要的资源,那么获取这些资源都有哪些方式呢?
- 在XML layout 文件中使用以下方式:
<resources>
<string name="app_name">TestGetRes</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<span style="white-space:pre"> </span><string name="my_string">holy shit</string>
</resources>
在/res/layout/activity_main.xml 中使用
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/my_string" />
2. 在java code中动态获取资源
根据id来获取:
String myStr = getBaseContext().getResources().getString(R.string.my_string);
根据key来获取:
public String getStringValue(String key){
String packageName = getBaseContext().getPackageName();
Resources res = getBaseContext().getResources();
int id = res.getIdentifier(key, "string", packageName);
if(id == 0){
return null;
}
return res.getString(id);
}
同样你可以通过以上这种方式获取其他类型的资源,比如view,drawable。。。