Android基礎之二:資源文件

  • 應用程序資源:
    • 應用程序資源是應用開發中任何地方均可以訪問的一些資源,存儲在res文件夾中
    • 子文件夾:
      • drawable:分爲drawable-hdpi、drawable-ldpi、drawable-mdpi、drawable-xdpi四個不一樣分辨率的圖片資源文件夾,分別爲沒種分辨率設備進行適配使用
      • layout:佈局資源文件夾,存儲應用中全部的佈局文件
      • values:存儲全部經常使用值資源,包括strings.xml,arrays.xml,dimens.xml,style.xml,color.xml
      • menu:存儲菜單資源文件
      • anim:存放視圖動畫資源文件
      • animator:存放屬性動畫資源文件
      • xml:存放xml文件資源,例如SharedPreferences.xml
  • 開發中儘可能實現徹底的代碼與資源分離,便於維護、更新和管理,同時資源與代碼分離可以實現多語言開發,只須要修改資源文件中的語言便可,程序不用發生任何改動
  • drawable資源:
    • drawable文件夾下通常都存放png圖片,.9png在Android可以高清晰顯示,一些動畫圖片如jpg也能夠存放在其中,可是其在顯示的時候若是不進行動態處理,那麼最終只顯示爲靜態圖片
    • 幀動畫xml文件也放在該文件夾下,幀動畫實際上就是沒過一段時間顯示一張圖片來實現動畫效果
    • 在xml中使用drawable資源:@drawable/a,使用Android SDK自帶的drawable資源:@android:drawable/a
    • 在代碼中訪問drawable資源:
      Drawable drawable=context.getResources().getDrawable(R.drawable.back6);
    • 代碼中訪問幀動畫資源:
      AnimationDrawable animationDrawable= (AnimationDrawable) context.getResources().getDrawable(R.drawable.logo);
  • layout資源:
    • 存放全部佈局文件資源,包括Activity佈局多用文件,Fragment佈局所用文件,View佈局所用文件,ListView佈局所用文件等全部View的可視化文件
    • 不建議使用代碼動態建立layout來組合View顯示,最好遵照代碼與資源分開原則,便於維護與修改
    • 佈局資源中使用其餘資源:
      • 本地資源:@style/.. @string/.. @drawable/.. 等
      • Android SDK資源:@android:style/.. @android:string/..等
    • 通常其餘資源文件中不能引用layout資源,可是layout中可使用,例如viewStub與include標籤能夠實現佈局文件的複用,其中layout屬性指向引用佈局資源
    • 代碼中使用佈局資源:LayoutInflater
      • 實例化LayoutInflater三種方法:
      • LayoutInflater layoutInflater=LayoutInflater.from(context);
        LayoutInflater layoutInflater= (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        LayoutInflater layoutInflater= context.getLayoutInflater();
      • 經過LayoutInflater實例將layout文件變成view:
      • layoutInflater.inflate(R.layout.content,null,false);
  • values文件夾
    • values文件夾中存放簡單的資源,如string資源文件,dimen資源文件,style資源文件,color資源文件,array資源文件等
    • 在其餘資源中使用@type/..
    • 在代碼中使用:
      • 獲取字符串:context.getResources().getText(..);
      • 獲取dimen:context.getResources().getDimension(..);
      • 獲取color:context.getResources().getColor(..);
      • 獲取array:context.getResources().getStringArray(..);
      • 獲取Integer:context.getResources().getInteger(..);
      • 等等
    • 獲取Android SDK中的values資源
      • 主要是字符串資源:context.getText(..);
  • menu文件夾
    • 用於存放菜單結構xml文件
    • Android基礎之菜單中詳細介紹
  • anim文件夾
    • 存放視圖動畫xml
    • 代碼中獲取anim
      • 經過AnimationUtils類來獲取
      • AnimationUtils.loadAnimation(context,id);
      • 經過資源管理器getAnimation方法獲取
      • getResources().getAnimation(R.anim.);

         

    • Android基礎之動畫中詳細介紹
  • animator文件夾
    • 存放屬性動畫xml
    • 代碼中使用
      • 經過AnimatorInflater類來獲取
      • Animator a=AnimatorInflater.loadAnimator(MyActivity.this,R.animator.);

         

    • 具體使用在Android基礎之動畫中詳細介紹
  • xml文件夾
    • 存放xml文件,其中能夠是xml配置文件,SharedPreferences xml文件
    • 主要用於實現動態配置與可持續化存儲
    • 與XML解析器和Dom解析器結合使用
    • 具體使用在Android基礎之XML&Dom解析中介紹
  • 在佈局資源中使用當前主題的資源,例如字體顏色等:
android:textColor="?android:textColor"
  • Android 中動畫分爲三種
    • 視圖動畫:anim
    • 屬性動畫:animator
    • 幀動畫:AnimationDrawable
  • Android顏色值
    • #RGB 三位16進制,例如#00F
    • #RRGGBB 六位16進制,例如#7700FF
    • #ARGB 四位含透明度的顏色值,例如#F00F
    • #AARRGGBB 八位含透明度的顏色值,例如#7700FF00
  • Android尺寸
    • px:屏幕像素
    • in:物理英寸
    • pt:物理點
    • mm:物理毫米
    • dp:非密度制約像素,經常使用於設置寬高,邊距
    • sp:縮放比例無關的像素,經常使用於設置字體大小
相關文章
相關標籤/搜索