Android之XML资源访问

来源:互联网 发布:java中重载的用法 编辑:程序博客网 时间:2024/05/22 00:11

颜色资源

<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;">@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubgetMenuInflater().inflate(R.menu.main, menu);return super.onCreateOptionsMenu(menu);}</span>

监听菜单事件

<span style="font-size:18px;">@Overridepublic 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 blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}</span>





0 0
原创粉丝点击