<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • Android資源訪問-創(chuàng)新互聯(lián)

            一、資源訪問:

            專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)寧城免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。

            (一)、概念:

              Android中的資源是指可以在代碼中使用的外部文件,這些文件作為應用程序的一部分,被編譯到應用程序中。在項目中,這些資源被保存到Android應用的res目錄下。

            (二)、資源分類:

            1. id;

            2. 字符串資源文件;

            3. 顏色資源

            4. 尺寸資源文件

            5. 布局資源

            6. 數(shù)組資源

            7. 樣式和主題資源

            8. 菜單資源

            9. 已編譯的任意XML資源文件【重要】: res/xml

            10. 未編譯的原始資源文件: res/raw

            11. 圖像(Drawable)資源

              1. 普通圖像資源

              2. xml圖像資源:bitmap

              3. 圖層(Layer)資源:layer-list , item

              4. 圖像狀態(tài)(State)資源:selector , item

              5. 圖像級別(Level)資源:level-list , item

              6. 淡入淡出(CrossFade)資源:transition , item(只支持兩個)

              7. 外形(Shape)資源:shape(shape , gradient , padding ,corners , stroke)

            12. 動畫資源

            • 透明度補間動畫   alpha

            • 縮放補間動畫   scale

            • 旋轉補間動畫   rotate

            • 移動補間動畫   translate

            1. 屬性動畫:res/animator  (api11之后出現(xiàn))

            2. 逐幀動畫: res/anim    animation-list , item

            3. 補間動畫:  res/anim

            【備注:】資源編譯器會編譯除了raw資源以外的所有資源,并將它們?nèi)糠诺阶罱K的.apk文件中。apk(Android Package)包含Android應用程序的代碼和資源。

            (三)、各種資源文件的xml格式:

            1、字符串資源文件:

            示例代碼:

            <resources>
                <string  name="red">紅色</color>
                <string  name="green">綠色</color>
                <string  name="blue">藍色</color>
            </resources>

            Java文件中獲取方式:getResources().getString(R.string.red);

            2、顏色資源文件:

            示例代碼:

            <resources>
                <color name="red">#f00</color>
                <color name="green">#0f0</color>
                <color name="blue">#00f</color>
            </resources>

            在需要調用該顏色的地方寫法是:android:background="@color/blue"

            Java文件中獲取方式:getResources().getColor(R.color.blue);

            3、尺寸資源文件:

            示例代碼:

            <resources>
                <dimen  name="title">20dp</color>
                <dimen  name="content">10dp</color>
            </resources>

            Java文件中獲取方式:getResources().getDimension(R.dimen.title);

            4、數(shù)組資源文件:

              Android中,不推薦將數(shù)組直接定義在java文件中,而是使用數(shù)組資源文件來定義數(shù)組。

              定義在res下values目錄下:arrays.xml文件中。格式如下:

            • 根元素:<resources></resources>

            • 子元素:可以有三種。

              • <array></array>:稱為類型數(shù)組Typed-Array資源(或者:資源數(shù)組資源)

              • <string-array></string-array>

              • <integer-array></integer-array>

            • 下級子元素:<item>數(shù)值</item>

            示例代碼:

            <resources>
                <string-array name="choiceItems"> 
                    <item >主屏模式</item>
                    <item >wifi設置</item>
                    <item >藍牙設置</item>
                    <item >網(wǎng)絡設置</item>
                    <item >More</item>
                </string-array>
            </resources>

            Java文件中獲取方式:getResources().getStringArray(R.array.choiceItems);

            【備注:】如果是int型數(shù)組,則格式如下:

            <resources>
                <integer-array name="age"> 
                    <item >20</item>
                    <item >30</item>
                    <item >40</item>
                    <item >50</item>
                </integer-array>
            </resources>

            Java文件中獲取方式:getResources().getIntArray(R.array.age);

            【備注:】如果是資源數(shù)組資源,則格式如下:

            <resources>
                <array name="icons"> 
                    <item >@drawable/home</item>
                    <item >@drawable/setting</item>
                    <item >@drawable/logout</item>
                </array>
                <array name="title"> 
                    <item >首頁</item>
                    <item >設置</item>
                    <item >退出</item>
                </array>
            </resources>

            Java文件中獲取方式:

            TypedArray arrIcons = getResources().obtainTypedArray(R.array.icons);

            Drawable drawable = arrIcons.getDrawable(0);

            5、原始XML資源

            • 位置:res/xml目錄下;

            • 定義格式:格式良好的,沒有特殊要求的普通xml文件;

            • Java文件中獲取方式:getResources().getXml(R.xml.文件名稱);

            • 解析xml的核心代碼:

             // 從資源文件夾中讀取原始xml資源文件    XmlResourceParser pullParser = getResources().getXml(R.xml.citylist);
                //將讀取xml資源文件返回的XmlResourceParser 對象繼續(xù)解析,獲取到xml節(jié)點中需要的數(shù)據(jù)。
                //備注:XmlResourceParser 類是XmlPullParser的子類
                public List<Map<String, Object>> parseXML(XmlResourceParser pullParser,
                                    String tagName) {
                            List<Map<String, Object>> list = null;
                            Map<String, Object> map = null;
                            int event;
                            try {
                                    // 根據(jù)讀取的xml節(jié)點來獲取事件類型
                                    event = pullParser.getEventType();
                                    // 只要不是文檔結束就一直執(zhí)行循環(huán)
                                    while (event != XmlPullParser.END_DOCUMENT) {
                                            // 獲取每個節(jié)點的節(jié)點名稱
                                            String nodeName = pullParser.getName();
                                            // 根據(jù)事件類型來執(zhí)行不同的操作
                                            switch (event) {
                                            // 當文檔開始就實例化list
                                            case XmlPullParser.START_DOCUMENT:
                                                    list = new ArrayList<Map<String, Object>>();
                                                    break;
                                            // 根據(jù)節(jié)點的不同來執(zhí)行實例化map和往map中添加數(shù)據(jù)的操作
                                            case XmlPullParser.START_TAG:
                                                    if (nodeName.equals(tagName)) {
                                                            map = new HashMap<String, Object>();
                                                            // 本例中,沒有文本節(jié)點,有n個屬性節(jié)點,而所需要的內(nèi)容全在屬性節(jié)點中。故使用getAttributeValue(index)方法
                                                            // getAttributeValue(index)方法中的
                                                            // index是指節(jié)點的索引下標,從0開始??梢岳斫獬蓪傩渣c 順序。
                                                            map.put(pullParser.getAttributeValue(3),
                                                                            pullParser.getAttributeValue(2));
                                                            list.add(map);
                                                    }
                                                    break;
                                            }
                                            // 執(zhí)行循環(huán)
                                            event = pullParser.next();
                                    }
                            } catch (Exception e) {
                                    e.printStackTrace();
                            }
                            return list;
                    }

            6、原生文件資源: raw

            【備注:】raw目錄下主要放置的資源有音頻、視頻等文件。raw目錄下的文件會在R.java中被注冊。

             如何訪問raw目錄下的文件?

             InputStream is = getResources().openRawResource(R.raw.文件名);

            7、圖像資源:

            A、普通圖像資源:

            Java文件中獲取方式:
            getResources().getDrawable(R.drawable.p_w_picpathname);
            int resId = getResources().getIdentifier(imgName, "drawable",  this.getPackageName());
            view.getResources().getResourceName(resid)
            int resId = context.getResources().getIdentifier("圖片名稱", "drawable", context.getPackageName());
            p_w_picpathView_main_showpic.setImageResource(resId);

            B、xml圖像資源:bitmap

            bitmap
            
            android:gravity

            C、圖層(Layer)資源:layer-list

            <?xml version="1.0"encoding="utf-8"?>
            <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
            
                <item
                    android:top="10dp"
                    android:left="10dp">
            
                    <bitmap
                        android:src="@drawable/android1"
                        android:gravity="center"/>
            
                </item>
            
                <item
                    android:top="10dp"
                    android:left="10dp">
            
                    <bitmap
                        android:src="@drawable/android2"
                        android:gravity="center"/>
            
                </item>
            
            </layer-list>

            D、圖像狀態(tài)(State)資源:selector

            <?xml version="1.0"encoding="utf-8"?>
                <selector xmlns:android="http://schemas.android.com/apk/res/android">
                <item android:state_pressed="true"android:drawable="@drawable/pressed"/>
                <item android:state_focused="true"android:drawable="@drawable/focused"/>
                <item android:drawable="@drawable/normal"/>
            </selector>

            E、圖像級別(Level)資源:level-list

            //UI代碼:
            <?xml version="1.0"encoding="utf-8"?>
            <level-list xmlns:android="http://schemas.android.com/apk/res/android">
            
                <item
                    android:drawable="@drawable/lamp_off"
                    android:minLevel=“5" android:maxLevel="10"/>
            
                <item
                    android:drawable="@drawable/lamp_on"
                    android:minLevel=“11"  android:maxLevel="20"/>
            
            </level-list>
            //java代碼:
            public class LevelActivity extends Activity {
            
                private ImageView p_w_picpathview_lamp;
            
                @Override
                protected void onCreate(Bundle savedInstanceState) {
            
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_level);
                    p_w_picpathview_lamp = (ImageView) findViewById(R.id.p_w_picpathview_lamp);
            
                }
            
            
            
            
                public void clickButton(View view) {
            
                    switch (view.getId()) {
            
                    case R.id.button_level_lampoff:
            
                        p_w_picpathview_lamp.setImageLevel(9);
            
                        break;
            
                    case R.id.button_level_lampon:
            
                        p_w_picpathview_lamp.setImageLevel(15);
            
                        break;
                    }
                }
            }

            F、淡入淡出(CrossFade)資源:transition

            <?xml version="1.0"encoding="utf-8"?>
            
                <transition xmlns:android="http://schemas.android.com/apk/res/android">
            
            <!-- transition標簽中只能有兩個item標簽,也就是只支持兩個圖像的切換 -->
            
                <itemandroid:drawable="@drawable/lamp_off"/>
            
                <itemandroid:drawable="@drawable/lamp_on"/>
            
            </transition>
            //java代碼:
            public class CrossfadeActivity extends Activity {
            
                private ImageView p_w_picpathview_lamp;
            
                private TransitionDrawable drawable = null;
            
                @Override
                protected void onCreate(Bundle savedInstanceState) {
            
                    super.onCreate(savedInstanceState);
            
                    setContentView(R.layout.activity_crossfade);
            
                    p_w_picpathview_lamp = (ImageView) findViewById(R.id.p_w_picpathview_lamp);
            
                    drawable = (TransitionDrawable) p_w_picpathview_lamp.getDrawable();
                }
            
                public void clickButton(View view) {
            
                    switch (view.getId()) {
            
                    case R.id.button_level_lampon:
            
                        drawable.startTransition(3000);
            
                        break;
            
                    case R.id.button_level_lampoff:
            
                        drawable.reverseTransition(3000);
            
                        break;
            
                    }
                }
            }

            G、外形(Shape)資源:shape

            <?xmlversion="1.0"encoding="utf-8"?>
            
            <shape
                xmlns:android="  android:shape="rectangle">
            
            <!-- shape有四個值:rectangle(矩形)、oval(橢圓)、line(直線)、ring(圓環(huán))-->
            <!-- 定義漸變色 ,從左下角到右上角繪制漸變色-->
            <gradient
            android:startColor="#FF00"
            android:endColor="#80FF00FF"
            android:angle="45"/>
            
            <!-- 定義控件內(nèi)容到邊界的距離-->
            
                <padding
                    android:left="20dp"
                    android:top="20dp"
                    android:right="20dp"
                    android:bottom="20dp"/>
            
            <!-- 定義邊框線的寬度及顏色-->
            
                <stroke
                    android:width="2dp"
                    android:color="#00F"/>
            
                <!-- 定義圓角半徑-->
                <corners
                    android:radius="8dp"/>
            
            </shape>

            另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

            文章標題:Android資源訪問-創(chuàng)新互聯(lián)
            文章來源:http://www.jbt999.com/article10/shhdo.html

            成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、網(wǎng)站策劃網(wǎng)站內(nèi)鏈、移動網(wǎng)站建設、虛擬主機、網(wǎng)站設計公司

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

            網(wǎng)站優(yōu)化排名

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 黄色电影网站社区视频 | 91九色麻豆 | 无码操穴| 欧美激情综合五月色丁香 | 无码精品一区二区三区四区网站 |