资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Android中XML文件的使用方法

这篇文章主要介绍了Android中XML文件的使用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联建站,为您提供成都网站建设公司成都网站制作、网站营销推广、网站开发设计,对服务湿喷机等多个行业拥有丰富的网站建设及推广经验。创新互联建站网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!

Android XML文件使用的示例代码

一、布局文件:在layout目录下,使用比较广泛;

我们可以为应用定义两套或多套布局,例如:可以新建目录layout_land(代表手机横屏布局),layout_port(代表手机竖屏布局),系统会根据不同情况自动找到最合适的布局文件,但是在同一界面的两套不同布局文件的文件名应该是相同的,只是放在了两个不同的目录下。

二、图片文件:在drawable目录下,从2.1版本以后分为三个目录,

drawable-hdpi里面存放高分辨率的图片,如WVGA (480×800),FWVGA (480×854)

drawable-mdpi里面存放中等分辨率的图片,如HVGA (320×480)

drawable-ldpi里面存放低分辨率的图片,如QVGA (240×320)

系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。

在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。

我们可以将已经做好的图片放到该目录下,或者通过自定义XML文件来实现想要的图片,例如我们可以定义shapge_1.xml放到drawable目录下,内容如下:

 

 

 

 

 

 

当我们想让一个控件根据不同状态显示不同图片,可以直接在程序中控制,也可以在drawable目录建立XML文件达到相同的效果,例如:我们可以在drawable目录下新建文件button_back.xml



    
    
    
    <-- 这里还可以加N多效果和动作 只要你用的到 -->
    

以上XML文件可以实现一个控件(假设为button),获取焦点,按下按钮,正常状态下显示不同图片的效果,只需要在定义控件是引用该文件名即可,例如:


但是当我们的条件不是系统已有的事件类型,例如根据ImageView根据一个变量var的值的不同显示不同的图片,应该怎么办呢?可以在程序中写如下代码

if (条件1)
{ 
image.setBackground(R.id.xxx1); 
}
else if (条件2)
{ 
image.setBackground(R.id.xxx2); 
} ...

或者可以用另一个简便的方法实现相同的功能,在res/drawable下建立一个xml文件,内容如下


    
    
    
    
    

然后在layout中把imageview的src设置成已创建好的xml文件 ,程序中变换图片时,只需要使用 imageview.getDrawable().setLevel(50);
Android会根据level的值自动选择对应的图片。手机显示剩余电量就是用这个方法来显示不同图片的。

三、菜单文件:在menu目录下,写代码时只需在onCreateOptionsMenu方法中用MenuInflater装载进去就OK了。格式如下,


    

    

    

    

四、resource文件,在values目录下,之所以称之为resource文件,是因为values目录下xml文件都是以resource作为根节点,

1.strings.xml  定义字符串的文件,格式如下: 


    Hello World!
    我的应用程序

2.colors.xml  定义颜色的文件,格式如下:


    
    #ff000000
    #e0000000
    #00000000
    
    #f00
    #0000ff
    #f0f0
    #ffffff00

3.arrays.xml  定义数组的文件,格式如下:


    
        Mercury
        Venus
        Earth
        Mars
        Jupiter
        Saturn
        Uranus
        Neptune
        Pluto
    

    
        100
        500
        800 
    

4.styles.xml  定义样式的文件,分为两种用途:

Style:以一个单位的方式用在布局XML单个元素(控件)当中。 例如:我们可以为TextView定义一种样式风格,包含文本的字号大小和颜色,然后将其用在TextView特定的实例。
Theme:以一个单位的方式用在应用中所有的Activity当中或者应用中的某个 Activity当中。 比如,我们可以定义一个Theme,它为window frame和panel 的前景和背景定义了一组颜色,并             为菜单定义可文字的大小和颜色属性,可以将这个Theme应用在你程序当中所有的Activity里。


   
   
        true
        @android:style/Animation.Translucent
        @drawable/transparent_background
        true
        #fff
    
    
    
        @drawable/stylogo120dpi
        wrap_content
        wrap_content
    

个人认为,其实不管是Theme还是Style,其实只是应用的范围不同而已,区分的话应该是根据android:name="xxxx"的xxxx来区分吧,很明显是不同的。

5.dimen.xml  定义单位的文件,android中度量单位有以下几种:

px(象素): 屏幕实际的象素,常说的分辨率1024*768pixels,就是横向1024px, 纵向768px,不同设备显示效果相同。

in(英寸): 屏幕的物理尺寸, 每英寸等于2.54厘米。

mm(毫米): 屏幕的物理尺寸。

pt(点) : 屏幕的物理尺寸。1/72英寸。

dp/dip : 与密度无关的象素,一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。但dp和px的比例会随着屏幕密度的变化而改变,不同设备有不同的显示效果。

sp : 与刻度无关的象素,主要用于字体显示best for textsize,作为和文字相关大小单位。

 
    1px 
    2dp 
    16sp 

6.attrs.xml  定义属性的文件,主要用在自定义的组件中,具体使用方法会在后续的如何使用自定义组件中详细介绍,其格式如下:

     
         
             
             
         

五、动画文件  在anim目录下,动画资源分为两种,

1.实现图片的translate、scale、rotate、alpha四种变化,还可以设置动画的播放特性,称为Tween动画。

               
    
    
    
    
    可以使用其子类和属性定义动画的运行方式,先快后慢,先慢后快等

2.帧动画,逐帧播放设置的资源,称为Frame动画。

 
     
     
     

六、raw目录下的文件,是直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。一般为应用要用到的音频或视频文件等等

要使用这些资源,可以调用Resources.openRawResource(),参数是资源的ID,即R.raw.somefilename。

七、xml目录下的文件,是程序中需要使用的普通xml文件。在运行时可以通过调用Resources.getXML()读取。

八、assets目录下的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件。

1. 先在Activity里面调用getAssets()来获取AssetManager引用。

2. 再用AssetManager的open(String fileName, int accessMode)方法则指定读取的文件以及访问模式就能得到输入流InputStream。

3. 然后就是用已经open file 的inputStream读取文件,读取完成后记得inputStream.close()。

4.调用AssetManager.close()关闭AssetManager。      

感谢你能够认真阅读完这篇文章,希望小编分享的“Android中XML文件的使用方法”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


标题名称:Android中XML文件的使用方法
网页路径:http://cdkjz.cn/article/ggppdd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220