或創建一個布爾值(從谷歌IO 2012)自定義資源
<!-- in your values/custom.xml -->
<resources>
<bool name="small_screen">true</bool>
<bool name="normal_screen">false</bool>
</resources>
<!-- in your values-sw320dp/custom.xml -->
<resources>
<bool name="small_screen">false</bool>
<bool name="normal_screen">true</bool>
</resources>
注意:您必須定義一個最小的屏幕寬度(sw320dp),而您會考慮屏幕不(link with more info)
優點是你可以在運行時讀取這個值&你可以有特殊的資源限定符的特例...例如您可以通過調用您的活動在運行時讀取這個值:
if(getResources().getBoolean(R.bool.small_screen)) {
// You have a screen which is < 320dp
} else {
// You have a screen which is >= 320dp
}
你甚至可以在你的清單,像這樣使用這個布爾資源,啓動一個完全不同的活動爲小屏幕
<activity android:name="SmallScreenActivity"
android:enabled="@bool/small_screen"> <!-- ENABLE FOR SMALL SCREEN -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="NormalActivity"
android:enabled="@bool/normal_screen"> <!-- ENABLE FOR OTHER -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
這方式你可以簡單地使用一個活動的正常情況下(android:enabled =「@ bool/normal_screen」),並使用小屏幕的特殊活動android:enabled =「@ bool/small_screen」
警告:將不適用於新的維德自從蜂巢以來。You can read why this method is not allowed anymore或read about working similar solution
感謝您的支持。對不起,謝謝你。 – jimsis