女人被躁到高潮嗷嗷叫游戏,久久久久亚洲av成人人电影,久久久精品人妻一区二区三区四,久久久久无码精品国产app,免费人成视频在线播放

留求藝—您的留學(xué)規(guī)劃師

問(wèn)大學(xué)期末 復(fù)習(xí) android系統(tǒng)中的資源類型有哪幾種

277次

問(wèn)題描述:

大學(xué)期末 復(fù)習(xí) android系統(tǒng)中的資源類型有哪幾種求高手給解答

最佳答案

推薦答案

Android 資源類型1.字符串資源>>1.普通字符串>>2.字符串?dāng)?shù)組復(fù)制代碼<resources><string-array name="planets_array"><item>aaa</item><item>bbb</item></string-array><esources>復(fù)制代碼獲取方式:getResources().getStringArray(R.array.planets_array)>>3.復(fù)數(shù)字符串資源某些自然語(yǔ)言中,不同的數(shù)字在使用方法上會(huì)有所不同,比如one book,two books。

當(dāng)數(shù)量大于1時(shí),會(huì)使用不同的名詞或其它復(fù)數(shù)形式;復(fù)制代碼<resources><plurals name="numberOfp"><item quantity="one">one person</item><item quantity="other">more persons</item></plurals><esources>復(fù)制代碼quantity屬性的值除了one和other外,還可以是zero,two,few,many;引用復(fù)數(shù)字符串:// 引用數(shù)字為1的復(fù)數(shù)字符串getResources().getQuantityString(R.pluarlas.numberOfp,1);// 引用數(shù)字為其它值的復(fù)數(shù)字符串getResources().getQuantityString(R.pluarlas.numberOfp,10,10);>>4.占位符格式化字符串常用的格式化字符串三種方法:>>1.在字符串中使用引號(hào)字符串中的值雖然可以隨意指定,但是當(dāng)遇到特殊符號(hào)時(shí)(雙引號(hào),單引號(hào))就需要采取特殊的方法來(lái)處理這些符號(hào)。如果是單引號(hào)(')可以使用轉(zhuǎn)義符(\)或用雙引號(hào)(")將整個(gè)字符串括起來(lái),如果是雙引號(hào),可以在雙引號(hào)前使用轉(zhuǎn)義符(\)。<resources><string name="str1">"This'll work"</string> This'll work<string name="str2">This\'ll work</string> This'll work<string name="str3">\"apple\"</string> "apple"<esources>>>2.用占位符格式化字符串使用String.format(String,Object...)方法可以格式化帶占位符的字符串,只需要在字符串中插入占位符,就可以使用String.format方法格式化字符串資源,format方法要求的占位符用%1,%,...,%n,其實(shí)第n個(gè)占位符與format方法的n+1個(gè)參數(shù)值對(duì)應(yīng);<resources><!-- $s表示該占位符被字符串替換,$d表示該占位符被整數(shù)替換 --><string name="str1">hello,%1$s!You have %2$d new message</string><esources>String str1 =String.format(getResources().getString(R.string.str1), "ly", 17);>>3.使用HTML標(biāo)簽格式化字符串資源字符串資源支持一些HTML標(biāo)簽,因此可以直接在字符串資源中使用這些HTML標(biāo)簽格式化字符串字符串資源支持如下的HTML標(biāo)簽<b>粗體字<i>斜體定<u>帶下劃線的字有時(shí)需要同時(shí)使用HTML標(biāo)簽和占位符格式化字符串,如果使用String.format方法格式化字符串,會(huì)忽略字符串中的所有HTML標(biāo)簽。為了使format方法可以格式化帶 HTML標(biāo)簽的確字符,需要使用Html.formHTML方法處理字符串;<resources><string name="hello_world">Welcome to <b>android</b></string><string name="str2">Hello,%1$s! You have <b> %2d new messages </b></string> <!--同時(shí)包含占位符和html標(biāo)簽的字符串--><esources>由于需要使用Html.formHTML方法處理字符串,因此HTML標(biāo)簽中的 "<" 需要使用 "<" 表示 ">" 并不需要處理獲取字符串:String text = String.format(getResources().getString(R.string.str2), "ly", 10);CharSequence styledText = Html.fromHtml(text);// 如果format的某個(gè)參數(shù)包含HTML的特殊字符,如"<","&",可以使用如下方式讀取字符串的值;String escapedUsername = TextUtils.htmlEncode("");String text1 = String.format(getResources().getString(R.string.str2), "ly", 20);2.Layout資源1、如果根節(jié)點(diǎn)是View,除了<requestFocus>標(biāo)簽外,不能添加任何子標(biāo)簽,<requestFocus>可能被添加到布局文件的任何View中,表示該標(biāo)簽對(duì)應(yīng)的控件在顯示時(shí)處于焦點(diǎn)狀態(tài),整個(gè)布局文件只能有一個(gè)<requestFocus>標(biāo)簽2、根節(jié)點(diǎn)是ViewGroup,常用的布局都是ViewGroup的子類3、重用布局文件如果想重用某個(gè)布局文件,可以使用<include>標(biāo)簽<include layout="@layout/xx_layout" />如果想讓一個(gè)布局文件被另一個(gè)布局文件引用(使用<include>標(biāo)簽),可以使用<merge>作為被引用布局文件的根節(jié)點(diǎn),由于<merge>并不會(huì)生成任何標(biāo)簽(在大量引用布局文件時(shí)不至于生成大量無(wú)用的標(biāo)簽),但是xml文件必須要有一個(gè)根節(jié)點(diǎn),因此<merge>所起的作用就是作為xml文件的根節(jié)點(diǎn),以使xml文件在編譯時(shí)不至于出錯(cuò),可以把<merge>當(dāng)成<FrameLayout>使用;3.圖像資源在圖像資源中可以存儲(chǔ)圖像文件,還可以使用xml格式的圖像資源來(lái)控件圖像的狀態(tài)和行為;>>1.普通圖像資源Drawable da = getResources().getDrawable(R.drawable.xxx);>>2.xml圖像資源xml圖像資源其實(shí)就是在drawable目錄中指定的xml文件,此種方式可以額外指定圖像的某些屬性,如圖像拉動(dòng)、排列方式;<bitmap;;;@drawable/ic_launcher";repeat" ></bitmap>>>3.Nine-Patch圖像資源Nine-Patch圖像資源文件必須以9.png作為文件擴(kuò)展名,如abc.9.png該圖像資源的主要作用是:防止圖像的某一部分被拉伸;確定將圖像作為背景圖的控件中內(nèi)容顯示的位置;Android SDK本身提供了一個(gè)Draw 9-patch的工具,啟動(dòng)<sdk目錄> ools\draw9patch.bat命令啟動(dòng)該工具;可以通過(guò)此工具在png圖的四周繪制1個(gè)像素粗的直線,上邊緣和左邊緣的直線分別表示圖像在水平和垂直方向可位值的范圍。如果水平或垂直方向的某個(gè)區(qū)域不需要拉伸,則可不繪制相應(yīng)的直線;右邊緣和下邊緣的直線分別表示圖像所在控件中內(nèi)容的顯示范圍,內(nèi)容只在右邊緣和下邊緣繪制直線的區(qū)域顯示,表示內(nèi)容顯示范圍和拉伸范圍的兩給直線有一個(gè)重要區(qū)別就是表示內(nèi)容顯示范圍的直線中間不能斷開,而表示拉伸范圍的直線中間可以斷開;Nine-Patch圖像資源與普通圖像資源引用方法相同,在引用時(shí)只寫文件名,活力.9.png;>>4.XML Nine-Patch圖像資源Nine-Patch圖像資源也有與其對(duì)應(yīng)的xml圖像資源,使用<nine-patch>標(biāo)簽來(lái)引用Nine-Patch格式的圖像,有一個(gè)設(shè)置抖動(dòng)的屬性;>>5.圖層資源圖層資源類似于<FrameLayout>不同的是<FrameLayout>標(biāo)簽中可以包含任意的控件,而圖層資源每一層都只有是圖像,定義圖層資源必須使用<layer-list>作為資源文件的根節(jié)點(diǎn),<layer-list>標(biāo)簽中包含多個(gè)<item>標(biāo)簽,每一個(gè)標(biāo)簽表示一個(gè)圖像,最后一個(gè)<item>標(biāo)簽顯示在最頂層;默認(rèn)情況下,圖像會(huì)盡量充滿顯示圖像的范圍,圖像可能會(huì)有拉伸,為了避免圖像拉伸,可以在<item>標(biāo)簽中使用<bitmap>標(biāo)簽引用圖像;復(fù)制代碼<layer-list;; ><item;10dip" 底端偏移的像素;10dip" 左側(cè)偏移的像素;10dip" ...;10dip"> ...<bitmap;center";@drawable/hell" /></item></layer-list>復(fù)制代碼某些情況下,可以使用圖層來(lái)代替<FrameLayout>>>6.圖像狀態(tài)資源,處理控件不同狀態(tài)下的顯示狀態(tài)復(fù)制代碼<selector;;><item;@drawable/bm";true"></item><item;@drawable/bm";true"></item><item;@drawable/bm"></item></selector>//設(shè)置為true表示當(dāng)前item的drawable屬性為獲取焦點(diǎn)和按下時(shí)的drawable樣式復(fù)制代碼>>7.圖像級(jí)別(Level)資源圖像資源狀態(tài)只能指定幾種有限的狀態(tài),可以通過(guò)圖像級(jí)別指定更多的狀態(tài);圖像級(jí)別是一個(gè)整數(shù)的區(qū)間,可以通過(guò)ImageView.setImageLevel或Drawable.setLevel方法切換不同狀態(tài)的圖像;圖像級(jí)別資源是xml文件,必須以<level-list>為根節(jié)點(diǎn),每一個(gè)item表示一個(gè)級(jí)別區(qū)間,下面是一個(gè)xml文件;通過(guò)ImageView.setImageLevel(level),根據(jù)level所在的區(qū)間設(shè)定顯示的圖像資源,如果level不在任一區(qū)間內(nèi)則清空ImageView當(dāng)前圖像;<level-list;;><item;2";0";@drawable/hell" /><item;4";3";@drawable/hell" /></level-list>>>8.淡入淡出(Cross-fade)資源也是切換兩個(gè)圖像(不支持多于兩個(gè)圖像的切換),并且使這兩個(gè)圖像以淡入淡出效果進(jìn)行切換,如電燈在開關(guān)時(shí)逐漸變亮或逐漸變暗;<transition;; ><item;@drawable/hell"/><item;@drawable/hell"/></transition>TransitionDrawable da = ...;// 從第一張圖片切換到第二張圖片,時(shí)間效果為1秒da.startTransition(1000);// 從第二張圖片切換到第一張圖片,時(shí)間效果為1秒da.reverseTransition(1000);>>9.嵌入(insert)圖像資源使用場(chǎng)景:要顯示的圖像要求要小于裝載圖像的View(圖小于View區(qū)域),也是通過(guò)xml資源定義,只有一個(gè)節(jié)點(diǎn)inset。<inset;;;@drawable/hell";10dip" > <!--圖像距離左邊的距離,延伸-->上/下/右的距離--></inset>>>10.剪切(Clip)圖像資源,使用剪切圖像資源可以只顯示圖像的一部分,如可以通過(guò)此來(lái)制作進(jìn)度條;<clip;;;horizontal" // 指定截取的方向;@drawable/hell" // 指定要截取的圖像;left" > // 指定截取的方式,在此為從左側(cè)開始截取</clip>ClipDrawable cd = ...;cd.setLevel(1000);上面ClipDrawable.setLevel(level)設(shè)置截取的圖像寬度,ClipDrawable預(yù)設(shè)了最大值10000(表示不進(jìn)行截取),最小值為0(表示不顯示);>>11. 比例(Scale)圖像資源<scale;;;@drawable/hell";center" // 設(shè)置圖像顯示的位置;70%" // 設(shè)置圖像顯示的高度;80%" > // 設(shè)置圖像顯示的寬度</scale>>>12.形狀資源復(fù)制代碼<shape;;;rectangle" > shape可以指定就矩形,oval(橢圓),line(直線),ring(圓)<corners> 定義圓角</corners><gradient;45";#000000";#FFFFFF" > 定義顏色漸變,從左下角到或上角</gradient><padding> 定義控件內(nèi)容到邊框的距離</padding><stroke> 定義邊線</stroke><solid> 定義填充</solid><size> 定義大小</size></shape>復(fù)制代碼13.菜單資源菜單不僅可以在onCreateContextMenu或onCreateOptionsMenu方法中通過(guò)代碼創(chuàng)建,還可以在res/menu目錄中建立相應(yīng)的菜單資源文件,并在上面兩個(gè)方法中加載菜單資源;菜單資源文件必須以<menu>標(biāo)簽作為根節(jié)點(diǎn),每一個(gè)菜單項(xiàng)用一個(gè)<item>表示,如果要定義子菜單,可以在<item>標(biāo)簽中包含<menu>標(biāo)簽;如果想將多個(gè)菜單項(xiàng)劃為一組,可以使用<group>包含多個(gè)<item>標(biāo)簽;復(fù)制代碼@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.MenuInflater inflater = getMenuInflater();inflater.inflate(R.menu.main, menu);return true;}復(fù)制代碼查看MenuInflater.inflate(int,Menu)復(fù)制代碼public void inflate(int menuRes, Menu menu) {XmlResourceParser parser = null;try {parser = mContext.getResources().getLayout(menuRes);AttributeSet attrs = Xml.asAttributeSet(parser);parseMenu(parser, attrs, menu);} catch ...finally {if (parser != null) parser.close();}}復(fù)制代碼14.樣式與主題(style/theme)>>1.樣式styleandroid中樣式和css中樣式作用是一樣的,都是用于為界面元素定義顯示風(fēng)格,它是一個(gè)包含一個(gè)或者多個(gè)控件屬性的集合。定義樣式需要在res/values/styles.xml中進(jìn)行定義,如下是一個(gè)樣式的定義:<style name="textViewStyle"><item name=";>22sp</item><item name=";>#FF0000</item></style><style name="textViewStyle1" parent="textViewStyle"></style><!-- 此樣式繼承自textViewStyle --><style name="textViewStyle.Livingstone"><!-- 樣式繼承的另一種寫法,但不可用此寫法繼承Android自帶的定義樣式--><item name=";>#00FF00</item></style>所有定義的樣式都會(huì)在R文件中自動(dòng)生成一個(gè)資源ID,加一個(gè)點(diǎn)表示樣式繼承會(huì)生成上圖所示的資源id;樣式的引用:<TextViewstyle="@style/textViewStyle";fill_parent";wrap_content";hello" />>>2.主題Theme主題應(yīng)用于整個(gè)應(yīng)用或者activity,樣式應(yīng)用于具體的控件上。主題的應(yīng)用與樣式定義一樣,不同的是主題還可以設(shè)置窗口的顯示風(fēng)格;主題的引用需要在清單文件中進(jìn)行引用,如引用到整個(gè)應(yīng)用之上就需要在Application節(jié)點(diǎn)中進(jìn)行配置引用,而引用到單個(gè)Activity只需要在此Activity中進(jìn)行配置引用;復(fù)制代碼<style name="Livingstonetheme"><!--此定義是一個(gè)無(wú)Title的主題--><item name=";>true</item><item name=";> ;/item><!-- 問(wèn)號(hào)表示引用此主題中屬性的值 --><item name=";>18sp</item></style>復(fù)制代碼android系統(tǒng)定義了一些屬性,如;@;,該主題可以讓Activity看起來(lái)像一個(gè)對(duì)話框,更多主題可以在文檔reference->android->R.style中查看。當(dāng)主題里面的樣式屬性值與樣式里面的屬性值發(fā)生沖突的時(shí)候會(huì)顯示樣式里面的值;15.其它資源在資源文件中還可以包括尺寸(dimen)、整數(shù)(integer)、布爾(bool) 、整形數(shù)組資源(integer-array)、資源數(shù)組(array)、顏色(color)TypedArray ta = getResources().obtainTypedArray(int id); // 獲取數(shù)組資源,包括integer-array、arrayFinal總結(jié):除了res/values目錄中的資源名,其它目錄的資源都會(huì)以文件名在R類的相應(yīng)子類中生成變量;而res/values中的資源會(huì)以name屬性值為變量名在R類的相應(yīng)子類中生成變量;

大學(xué)期末 復(fù)習(xí) android系統(tǒng)中的資源類型有哪幾種

為你推薦

網(wǎng)站首頁(yè)  |  關(guān)于我們  |  聯(lián)系方式  |  用戶協(xié)議  |  隱私政策  |  在線報(bào)名  |  網(wǎng)站地圖