Android之XML资源访问

颜色资源

<span style="font-size:18px;"><resources>
    <color name="red">#f00</color>
    <color name="green">#0f0</color>
    <color name="blue">#00f</color>
</resources></span>

尺寸资源

<span style="font-size:18px;"><resources>
    <dimen name="dp10">10dp</dimen>
    <dimen name="sp10">10sp</dimen>
</resources></span>

数组资源

<span style="font-size:18px;"><resources>
    <string-array name="stringarray">
        <item>Hello</item>
        <item>World</item>
    </string-array>

    <integer-array name="integerarray">
        <item>1</item>
        <item>2</item>
        <item>3</item>
    </integer-array>
</resources></span>

可以在ListView的布局文件中直接引用

<span style="white-space:pre">	</span><span style="font-size:18px;">android:entries="@array/stringarray"</span>

Drawable资源

使用九宫格工具修改图片

打开SDK下的tools文件夹里的draw9patch,拖入原图片

拖动四条边上的九宫格线,确定图片的缩放区域,Ctrl+S保存为.9.png格式

制作按钮的不同状态

res下新建drawable文件夹,新建Xml文件,选择selector标签

<span style="font-size:18px;"><selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/btn_pressed" android:state_pressed="true"></item>
    <item android:drawable="@drawable/btn" android:state_pressed="false"></item>

</selector></span>

在Button下,设置背景

<span style="white-space:pre">	</span><span style="font-size:18px;">android:background="@drawable/btn_bg"</span>

样式资源

<span style="font-size:18px;">    <style name="myText">
        <item name="android:textSize">20pt</item>
        <item name="android:textColor">#00f</item>
    </style></span>

主题资源

使用系统自定义的主题

在application或activity标签下

<span style="white-space:pre">	</span><span style="font-size:18px;">android:theme="@android:style/Theme.Black"</span>

菜单资源

文件配置

res文件夹下menu文件夹下main.xml文件配置

<span style="font-size:18px;"><menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/menuItem1"
        android:orderInCategory="100"
        android:title="AAA"/>
    <item
        android:id="@+id/menuItem2"
        android:icon="@drawable/ic_launcher"
        android:orderInCategory="100"
        android:title="BBB"/>

</menu></span>

调用方法

<span style="font-size:18px;">	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// TODO Auto-generated method stub
		getMenuInflater().inflate(R.menu.main, menu);
		return super.onCreateOptionsMenu(menu);
	}</span>

监听菜单事件

<span style="font-size:18px;">	@Override
	public boolean onOptionsItemSelected(MenuItem item) {

		switch (item.getItemId()) {
		case R.id.menuItem1:
			Toast.makeText(this, "menuItem1", Toast.LENGTH_SHORT).show();
			break;
		case R.id.menuItem2:
			Toast.makeText(this, "menuItem2", Toast.LENGTH_SHORT).show();
			break;
		default:
			break;
		}
		return super.onOptionsItemSelected(item);
	}</span>

原始XML文件解析

文件结构

<span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
<users>
    <user name="zhang" age="17"/>
    <user name="li" age="18"/>
</users></span>

解析过程

</pre><pre name="code" class="java"><span style="font-size:18px;">	XmlResourceParser parser=getResources().getXml(R.xml.users);
	try {
		while(parser.getEventType()!=XmlPullParser.END_DOCUMENT){
			if(parser.getEventType()==XmlResourceParser.START_TAG){
				if(parser.getName().equals("user")){
					String name=parser.getAttributeValue(null, "name");
					String age=parser.getAttributeValue(null, "age");
					System.out.println(String.format("名字:%s,年纪:%s", name,age));
				}
			}
			parser.next();
		}
	} catch (XmlPullParserException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}</span>

Android之XML资源访问

时间: 2024-12-14 14:27:47

Android之XML资源访问的相关文章

Android中的资源访问

Android中的资源是指非代码部分,指外部文件. assets中保存的一般是原生的文件,例如MP3文件,Android程序不能直接访问,必须通过AssetManager类以二进制流的形式来读取. res中的资源可以通过R资源类直接访问. R类是自动生成的,在该类中根据不同的资源类型生成了相应的内部类,该类包含了系统中使用到的所有资源文件的标识. 1.在代码中使用资源文件 在代码中访问资源文件,是通过R类中定义的资源文件类型和资源文件名称来访问的. 具体格式为: R.资源文件类型.资源文件名称

Android笔记(四十九) Android中的资源访问——asset

    1.文件读取方式     AssetManager.open(String filename),返回的是一个InputSteam类型的字节流,这里的filename必须是文件,而不能是文件夹,AssetManager打开资源文件的open方法是一个重载方法,可以添加一个打开方式的int参数,根据参数不同可做相应操作.     2.资源文件是可以存在文件夹以及子目录     public final String[]list(String path),返回当前目录下面的所有文件以及子目录的

Android笔记(四十八) Android中的资源访问——SDCard

访问存储在SD卡中的文件 使用 Environment.getExternalStorageState(); 判断是否存在内存卡 使用 Environment.getExternalStorageDirectory() 来获取内存卡的根目录路径 内存卡写入: MainActivity.java package cn.lixyz.iotest.activity; import android.app.Activity; import android.os.Bundle; import androi

android ids.xml资源的使用

ids.xml文件例子: XML file saved at res/values/ids.xml: 使用方式: 一: 二:Button btn=new Button(context);  btn .setId(context.getResources().getInteger(R.id.button_ok)); 红色部分的书写形式是不正确的,我们直接使用btn.setId(R.id.button_ok);就OK,如果用红色部分的话就会报一个无法找见资源的错误. 使用这两种方式都是可以的,如果我

android中的用户资源访问(一)

这几天要总结一下android开发中的用户资源访问. android中的用户资源存在项目工程中res文件夹下,有字符串.颜色.大小.数组.布局.样式.主题等资源,这些资源可以在xml文件中引用,也可以在android源码文件中使用,今天总结一下字符串.颜色.大小.数组.布局和图片资源. 总的来说,在xml文件中引用的格式为[<package>.]@/XXX/name:在源码中引用格式是[<package>.]R.XXX.name. 先贴上在xml文件中引用的代码(在布局xml文件中

Android资源访问

一.资源访问: (一).概念: Android中的资源是指可以在代码中使用的外部文件,这些文件作为应用程序的一部分,被编译到应用程序中.在项目中,这些资源被保存到Android应用的res目录下. (二).资源分类: id: 字符串资源文件: 颜色资源 尺寸资源文件 布局资源 数组资源 样式和主题资源 菜单资源 已编译的任意XML资源文件[重要]: res/xml 未编译的原始资源文件: res/raw 图像(Drawable)资源 普通图像资源 xml图像资源:bitmap 图层(Layer)

Android的xml/assets/raw资源使用详解

一.assets/xml/raw资源介绍 1.assets资源目录:assets目录下存放的资源代表应用无法直接访问的原生资源,这些文件将原封不动的存储到设备上,不会被编译为二进制形式,访问方式是通过文件名而不是资源ID.应用程序通过AssetManager以的字节流的形式来读取资源文件.assets与res/raw的区别是assets支持任意深度的子目录,这些资源文件不会生成任何资源ID.Android应用访问assets文件夹资源步骤如下: (1)先在Activity中调用getAssets

(转载)Android xml资源文件中@、@android:type、@*、?、@+引用写法含义以及区别

原帖地址:http://blog.csdn.net/zfrong/article/details/7332545 Android xml资源文件中@.@android:type.@*.?.@+引用写法含义以及区别 一[email protected]代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@android:type/name android:textColor=&

Android xml资源文件中@、@android:type、@*、?、@+含义和区别

一[email protected]代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@android:type/name android:textColor="@android:color/opaque_red" 注意:其实@android:type/name是@[package:]type/name 的一个子类 二[email protected]*