Android基礎篇(二)資源

關於資源

樣式style
樣式在res/values/styles.xml中定義,如:
1、佈局文件中存在多個具有相同風格的控件,比如說統一的Button文字,都是紅色大字體顯示,這時我們便可在styles.xml定義一種文本樣式,然後在各文本框處聲明它的style屬性。好處一個是減少了佈局文件的大小,另一個是方便以後統一修改風格。
這裏寫圖片描述
用到的style 定義的佈局文件,如下:

<!-- 這裏自定義一個字體樣式 -->
    <style name="textStyle" >
        <item name="android:textColor" >@color/colorAccent</item>
        <item name="android:textSize" >@dimen/btn_text_common_size</item>
    </style>

這裏可以定義一個專門存放尺寸sp,dp都可以的 資源文件res/values/dimen.xml

2、主題風格中,新建的項目都會有一個style,包含name,parent屬性。代碼中設置主題可通過“setTheme(R.style.XXX)”完成,佈局中設置可在AndroidManifest.xml的activity節點下添加theme屬性,如“android:theme=”@style/XXX””

錯誤描述:java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

該錯誤主要原因是 : activity繼承了支持包中才有的Activity,如ActionBarActivity,AppCompatActivity等,導致主題之間沒有繼承關係

這裏寫圖片描述

解決辦法:統一主題與activity的繼承關係;

關於屏幕適配

【TODO】這往下的沒寫完,是草稿,待更新;

這裏就要用到上面提到的dimens文件了。

爲什麼要適配
android設備屏幕多種多樣,需要考慮圖片和文件的間距及大小,爲了讓app可以在更多的設備上運行

概念:

  • 所謂的屏幕尺寸(如,5寸屏)
    指的是物理屏幕對角線尺寸,單位是英寸,不同的屏幕尺寸是可以採用相同的分辨率的,而它們之間的區別在與密度(density)不同;
  • 屏幕密度
    屏幕密度與DPI這個概念緊密相連,DPI全拼是dots-per-inch,即每英寸的點數。也就是說,密度越大,每英寸內容納的點數就越多。
    android.util包下有個DisplayMetrics類可以獲得密度相關的信息。
    最重要的是densityDpi這個成員,它有如下幾個常用值:
 DENSITY_LOW = 120  
 DENSITY_MEDIUM = 160  //默認值  
 DENSITY_TV = 213      //TV專用  
 DENSITY_HIGH = 240  
 DENSITY_XHIGH = 320  
 DENSITY_400 = 400  

 DENSITY_XXHIGH = 480  
 DENSITY_XXXHIGH = 640  

android設備屏幕的參數包括分辨率如1280*800,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章