小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

android學(xué)習(xí)之resources資源 - 靜處觀人事 閑中玩物情 - JavaEye技術(shù)網(wǎng)站

 shaobin0604@163.com 2010-05-17
關(guān)鍵字: string android resources
android里的資源可以是一個(gè)文件(mp3,視頻、音頻)或者是一個(gè)值(一個(gè)對(duì)話框中的一個(gè)標(biāo)題),這些值被綁定到一個(gè)可執(zhí)行的應(yīng)用程序。
這些文件和值被綁定到應(yīng)用程序,你可以修改它們,但是不需要重新編譯和重新部署應(yīng)用程序。

android是一個(gè)平臺(tái),一個(gè)框架,這個(gè)框架包含許多資源,string、color、bitmap、style等。android的AAPT 會(huì)自動(dòng)為這些文件建立一個(gè)ID,在程序中就可以以使用這些ID來引用這些resources,如果你想改某個(gè)值,只需要修改這些resource而不需要 修改源代碼。


resources的使用
resoureces就是res目錄下的那些目錄和文件,常用的有:

res/drawable/ 用來存放圖片文件
res/layout/ 用來存放布局定義文件
res/values/ 用來存放一些變量、參數(shù)等文件

android允許你定義多個(gè)string xml文件 這些resource位于/res/value目錄下,文件名是任意的
這是一個(gè)普通的字符串資源文件
Xml代 碼
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <string name="hello">Hello World, SendMessage!</string>  
  4.     <string name="app_name">SMS</string>  
  5. </resources>  


當(dāng)這個(gè)文件被創(chuàng)建或修改了,eclipse的adt插件會(huì)自動(dòng)更新你源代碼中一個(gè)叫R.java的文件
R.java
在R.java的注釋部分, 有這樣一段話:“AUTO-GENERATE FILE. DO NOT MODIFY”,這個(gè)文件是自動(dòng)生成的,不要修改。
這個(gè)文件是在程序編譯過程中由aapt(Android Asset Packaging Tool) 自動(dòng)生成
這個(gè)文件中的屬性都是public static final的,所以可以直接在Java代碼中引用,每個(gè)屬性都代表一個(gè)資源,看起來就像為每個(gè)資源都定義了一個(gè)ID,然后通過這個(gè)ID來訪問資源
所有的資源文件都被編譯進(jìn)最后生成的二進(jìn)制包中,這樣能夠帶來很高的性能和效率

string的定義非常簡單

Xml代 碼
  1. <string name="key">value</string>  


value可以只普通的字符串也可以是html代碼,或者是包含單引號(hào),雙引號(hào)的字符串

Xml代 碼
  1. <string name="quoted_string">"quoted'string"</string>  
  2.    <string name="double_quoted_string">\"double quotes\"</string>  
  3.    <string name="target_string">hello <b><i>android</i></b>,you are very younger!</string>  


在其他的android xml文件中引用含有html標(biāo)記的值和引用普通的string一樣
Xml代 碼
  1. <TextView  android:text="@string/target_string"  
  2.     android:id="@+id/text3"   
  3.     android:layout_width="wrap_content"   
  4.     android:layout_height="wrap_content"></TextView>  

在java程序中應(yīng)用這些值可以這樣
Java 代碼
  1. this.getResources().getString(R.string.target_string);  



dimension resources

android中定義的dimension單位有以下這些
  px: pixel(像素)
  in:inches(英寸)
  mm:millimeter(毫米)
  pt:point(點(diǎn))
  dp:density密度
  sp:刻度
定義dimension可定義string一樣

Xml代 碼
  1. <resources>  
  2.   <dimen name="mysize_in_pixels">1px</dimen>  
  3.   <dimen name="mysize_in_dp">1dp</dimen>  
  4.   <dimen name="medium_size">100sp</dimen>  
  5.   
  6. </resources>  


你可以在style中或者定位android UI 中使用這些dimension資源

如果在java中需要使用這些dimensions可以調(diào)用getResources方法
Java 代碼
  1. this.getResources().getDimension(R.dimen.mysize_in_pixels);  


在ml文件中使用dimension
Xml代 碼
  1. <TextView  android:text="@string/target_string"  
  2.     android:id="@+id/text3"   
  3.     android:layout_width="wrap_content"   
  4.     android:textSize="@dimen/medium_size"   android:layout_height="wrap_content"></TextView>  


Image resource

android會(huì)為每個(gè)放置在res/drawable目錄下的圖片文件生成ID,ID就是這個(gè)圖片的文件名,如果一個(gè)圖片的名是 sample.gif那么就會(huì)在R.java文件中的drawable下生成
Java 代碼
  1. public static final int sample=0x7f020001;  

android支持的圖片格式有:gif,jpg,png

在xml文件中使用image resource
Xml代 碼
  1.       
  2. <Button android:text="Button01"   
  3.     android:id="@+id/Button01"   
  4.     android:layout_width="wrap_content"   
  5.     android:background="@drawable/sample"  
  6.     android:layout_height="wrap_content"></Button>  


在java文件中通過調(diào)用getResources的getDrawable方法
Java 代碼
  1. Drawable bitmap = this.getResources().getDrawable(R.drawable.sampe);  
  2.         Button button = (Button)findViewById(R.id.Button01);  
  3.        //給button設(shè)置一個(gè)背景圖  
  4.         button.setBackgroundDrawable(bitmap);  


在android中image是drawable資源的一種類型,android還支持其他的drawable
它叫color-drawable,它本質(zhì)上是一個(gè)彩色矩形

它的定義如下
Xml代 碼
  1. <resources>  
  2.     <drawable name="red_rectangle">#f00</drawable>  
  3.     <drawable name="blue_rectangle">#0000ff</drawable>  
  4.     <drawable name="green_rectangle">#f0f0</drawable>  
  5. </resources>  

Java中使用color-drawable
Java 代碼
  1. // 取得drawable  
  2. ColorDrawble redDrawable =   
  3. (ColorDrawable)getResources().getDrawable(R.drawable.red_rectnagle);  
  4. //設(shè)置textView的背景  
  5. textView.setBackground(redDrawable);  


xml中使用color-drawable
Xml代 碼
  1. <TextView android:layout_width="fill_parent"  
  2.           android:layout_height="wrap_content"  
  3.           android:textAlign="center"  
  4.           android:background="@drawable/red_rectangle"/>  

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多