<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Resource 使用詳解

          共 5942字,需瀏覽 12分鐘

           ·

          2020-10-28 21:47

          和你一起終身學(xué)習(xí),這里是程序員Android

          經(jīng)典好文推薦,通過閱讀本文,您將收獲以下知識點(diǎn):

          一、多語言 String 資源
          二、多屏幕 Image 資源
          三、橫豎屏 Layout 布局
          四、不同版本SDK
          五、Array 數(shù)組資源
          六、 Color 顏色資源
          七、Dimen 尺寸資源
          八、style樣式 資源
          九、assert 文件夾下的原始資源
          十、raw 文件夾下的資源
          十一、anim 文件夾下的資源

          Android中經(jīng)常會使用資源文件來填充View或者 實(shí)現(xiàn)app?相關(guān)的功能,本篇文章總結(jié)了Android中常見的一些資源的使用方法。

          一、 多語言 String 資源

          String?主要用于存放系統(tǒng)字符串資源,字符串資源跟其他資源類似,也是在values文件夾下。
          Android字符串資源支持多語言,使用方法如下:

          1.命名規(guī)則

          valuess-(ISO語言代碼)

          常用語言如上

          2.使用語法

          1. 字符串資源Java類使用方法

          Java使用方法如下:
          R.string.引用字符串資源

          Java中 字符串資源獲取方法:

                  tv_res = (TextView) findViewById(R.id.tv_res);
          String mString=getResources().getString(R.string.hello_world);
          tv_res.setText(mString);

          2. 字符串資源XML中使用方法

          使用方法如下:
          @string/?引用字符串資源

          XML?中 字符串資源獲取方法:

              <TextView
          android:id="@+id/tv_res"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:text="測試 res 資源文件使用方法" />

          3. 存儲多語言翻譯字符串

          存放路徑如下:
          valuess-(ISO語言代碼)/strings.xml

          存儲多語言字符串資源文件:


          <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

          ... ...
          <string name="hello_world">Hello world!string>
          ... ...
          resources>

          二、多屏幕 Image 資源

          Image?主要用于存放系統(tǒng)圖片資源,圖片資源跟其他資源類似,也是在res文件夾下。
          常用存放圖片資源的文件夾如下:

          不同分辨率圖片資源文件

          mdpi 1倍縮放

          hdpi 1.5 倍縮放

          xhdpi 2倍 縮放

          xxhdpi 3倍縮放

          xxxdpi 4倍 縮放

          1. 在XML 中使用圖片資源

          xml?中使用圖片資源:

              <ImageView
          android:id="@+id/img_res_usb"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:src="@drawable/ic_launcher" />

          2. 在Java類中 使用圖片資源

          Java中使用圖片資源 :

                  ImageView mImageView=(ImageView) findViewById(R.id.img_res_usb);
          mImageView.setImageResource(R.drawable.ic_launcher);

          三、 多屏幕 Layout 布局

          Array?主要用于存放系統(tǒng)布局資源,布局資源跟其他資源類似,也是在res文件夾下。
          Andoid設(shè)備屏幕大小不統(tǒng)一,因此Android為適配多屏幕實(shí)現(xiàn)多布局。

          兼容不同屏幕布局

          不同布局常用于區(qū)別橫豎屏,平板等

          固定Activity的顯示方向:

                    
          <activity
          android:name=".Activity.ActivityMethods"

          android:screenOrientation="portrait" />


          <activity
          android:name="com.programandroid.TextView.TextViewMethod"
          android:screenOrientation="landscape" />

          四、 不同版本SDK支持

          1.在AndroidManfest.xml中聲明

          android SDK版本支持:

              <uses-sdk
          android:minSdkVersion="24"
          android:targetSdkVersion="27" />

          2.Java 代碼中SDK版本判斷

          SDK 版本判斷:

                  //判斷當(dāng)前手機(jī)設(shè)備SDK 版本是否是在Android M 6.0 之上
          if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){

          }else {

          }

          五、 Array 數(shù)組資源

          Array?主要用于存放系統(tǒng)數(shù)組資源,數(shù)組資源跟其他資源類似,也是在values文件夾下。

          1.xml 中聲明數(shù)組資源如下:

              <string-array name="fav_phone">
          <item>Iphoneitem>
          <item>華為item>
          <item>小米item>
          <item>oppoitem>
          <item>vivoitem>
          <item>錘子item>
          string-array>

          2. xml 中使用方法如下:

          在XML 中直接使用數(shù)組資源:

              <ListView
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:entries="@array/fav_phone" />

          3. Java 中使用方法如下

          Java 中使用字符串資源:

                  
          String[] mArray=getResources().getStringArray(R.array.fav_phone);

          六、 Color 顏色資源

          Color?主要用于存放系統(tǒng)顏色資源,顏色資源跟其他資源類似,也是在values文件夾下。

          Colors.xml 中的顏色值


          <resources>

          <color name="grey">#A9A9A9color>
          <color name="black">#000000color>
          <color name="white_line">#d8d8d8color>

          resources>

          1. xml中使用資源文件的方法

          xml 中使用Color 資源方法:

              <Button
          android:id="@+id/btn_res_color"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:onClick="ResColorMethod"
          android:text="顏色資源設(shè)置"
          android:textColor="@color/black" />

          2. Java 中使用顏色資源的方法

          • 使用自定義Color 資源

          Java中顏色資源使用方法:

                  Button mButton=(Button) findViewById(R.id.btn_res_color);
          mButton.setTextColor(getResources().getColor(R.color.black));
          • 使用 系統(tǒng)Color 類中的原始資源

          使用系統(tǒng)Color 類中的資源:

                  Button mButton=(Button) findViewById(R.id.btn_res_color);
          // mButton.setTextColor(getResources().getColor(R.color.black));
          mButton.setTextColor(Color.RED);

          七、Dimen 尺寸資源

          Dimen?主要用于規(guī)范化Android?尺寸,邊距等資源。尺寸資源跟其他資源類似,也是在values文件夾下。

          Dimen 資源自定義資源


          1. xml中使用Dimen 資源文件的方法

          xml 中使用Dimen 資源:

              <Button
          android:id="@+id/btn_res_dimen"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:onClick="ResDimenMethod"
          android:textSize="@dimen/abc_action_bar_default_height"
          android:paddingLeft="@dimen/abc_action_bar_default_height"
          android:text="尺寸資源設(shè)置" />

          2. Java 中使用Dimen資源的方法

          Java代碼中使用Dimen資源:

                  Button mButton=(Button) findViewById(R.id.btn_res_color);
          // mButton.setTextColor(getResources().getColor(R.color.black));
          mButton.setTextColor(Color.RED);
          mButton.setTextSize(getResources().getDimension(R.dimen.activity_horizontal_margin));

          八、 style樣式 資源

          style?主要是統(tǒng)一規(guī)范app系統(tǒng)主題樣式等資源。

          style樣式資源控制舉例:

          <resources>

          <style name="AppBaseTheme" parent="Theme.AppCompat.Light">style>


          <style name="AppTheme" parent="AppBaseTheme">style>


          <style name="loading_dialog" parent="android:style/Theme.Dialog">
          <item name="android:windowFrame">@nullitem>
          <item name="android:windowNoTitle">trueitem>
          <item name="android:windowBackground">@drawable/loading_bgitem>
          <item name="android:windowIsFloating">trueitem>
          <item name="android:windowContentOverlay">@nullitem>
          style>

          1.xml 下使用方法

          style 樣式資源使用方法

          2. Java 代碼中使用方法

          Java 代碼中設(shè)置Theme的方法,注意一定要在onCreate 方法之前

          九、 assert 文件夾下的原始資源

          此文件夾為原始資源文件夾,文件下的內(nèi)容不會被編譯,此目錄同srcres?同級。

          asset 文件存儲地址


          獲取asset下文件字符串、位圖:

              public void ResAssetMethod(View view) {
          String fileString = ReadStrFromFile("test.txt");
          Toast.makeText(getApplicationContext(), "文件內(nèi)容" + fileString,
          Toast.LENGTH_LONG).show();

          Bitmap btnBitmap = ReadImageFromAssetFile("img/ic_launcher.png");
          ImageView img = (ImageView) findViewById(R.id.img_res_assert);
          img.setImageBitmap(btnBitmap);
          }

          1. 獲取asset下文件字符串

          獲取asset下文件字符串 方法:

          /**
          * @param string
          */

          private String ReadStrFromFile(String filename) {
          if (TextUtils.isEmpty(filename)) {
          Toast.makeText(getApplicationContext(), "文件不能為空",
          Toast.LENGTH_SHORT).show();
          return null;
          }
          String assetString = null;
          try {
          InputStream inputStream = getAssets().open(filename);
          byte[] bytes = new byte[inputStream.available()];
          inputStream.read(bytes);
          assetString = new String(bytes, "utf-8");
          inputStream.close();

          } catch (Exception e) {
          e.printStackTrace();
          }

          return assetString;
          }

          2. 獲取asset下 圖片

          獲取asset下 圖片方法:

          /**
          * @param string
          */

          private Bitmap ReadImageFromAssetFile(String filename) {

          if (filename == null) {
          return null;
          }
          Bitmap bitmap = null;
          try {

          InputStream inputStream = getAssets().open(filename);
          bitmap = BitmapFactory.decodeStream(inputStream);

          } catch (IOException e) {
          e.printStackTrace();
          }
          return bitmap;

          }

          十、 raw 文件夾下的資源

          raw主要用于存放Android資源。

          播放Raw 文件夾下Music

          raw 資源文件夾引用方法:

              private MediaPlayer mMediaPlayer;
          private boolean isplaying = false;

          public void ResRAWMethod(View view) {

          mMediaPlayer = MediaPlayer.create(ResourceActivity.this,
          R.raw.bootaudio);
          if (!isplaying) {
          mMediaPlayer.start();// 開始播放
          isplaying = true;
          Toast.makeText(getApplicationContext(), "正在播放中", Toast.LENGTH_LONG)
          .show();
          }

          mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {
          @Override
          public void onCompletion(MediaPlayer mp) {
          if (mMediaPlayer != null) {
          try {
          isplaying = false;
          mMediaPlayer.stop();
          mMediaPlayer.reset();
          mMediaPlayer.release();
          mMediaPlayer = null;
          } catch (Exception e) {
          }

          }
          }
          });
          }

          十一、 anim 文件夾下的資源

          Anim主要用于存放Android動畫資源。

          配置幀動畫

          anim 配置:


          <animation-list xmlns:android="http://schemas.android.com/apk/res/android" >

          <item
          android:drawable="@drawable/bird0001_risk"
          android:duration="80"/>

          <item
          android:drawable="@drawable/bird0002_risk"
          android:duration="80"/>

          <item
          android:drawable="@drawable/bird0003_risk"
          android:duration="80"/>

          <item
          android:drawable="@drawable/bird0004_risk"
          android:duration="80"/>

          使用動畫資源

          anim 的使用:

              <ImageView
          android:id="@+id/img"
          android:layout_width="80dp"
          android:layout_height="80dp"
          android:layout_gravity="center_horizontal"
          android:background="@anim/frame_animation" />

          至此,本篇已結(jié)束。轉(zhuǎn)載網(wǎng)絡(luò)的文章,小編覺得很優(yōu)秀,歡迎點(diǎn)擊閱讀原文,支持原創(chuàng)作者,如有侵權(quán),懇請聯(lián)系小編刪除。同時感謝您的閱讀,期待您的關(guān)注。

          瀏覽 55
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  熟女天天干| 被黑人猛躁10次高潮视频 | 免费无码婬片A片AAA毛多多 | 操逼电影影音先锋 | 爱爱网站欧美日韩 |