一分鐘瞭解Android橫豎屏 mdpi hdpi xhdpi xxhdpi xxxhdpi
DPI:每英寸畫素數
簡單的螢幕解析度計算方法:
DisplayMetrics metrics = this.getResources().getDisplayMetrics();
float density = metrics.density;
int dpi = metrics.densityDpi;
int heightPixels = metrics.heightPixels;
int widthPixels = metrics.widthPixels;
Log.e("---metrics---", "比例:"+density+"dpi:"+dpi+"高畫素:"+heightPixels+"寬畫素:"+widthPixels);
dp與px計算圖(mdpi 1dp=1px):
ldpi:1dp=0.75px mdpi:1dp=1px hdpi:1dp=1.5px xhdpi:1dp=2px xxhdpi:1dp=3px xxxhdpi:1dp=4px
Android手機螢幕標準 對應圖示尺寸標準 螢幕密度 比例
xxxhdpi 3840*2160 192*192 640 16
xxhdpi 1920*1080
xhdpi 1280*720 96*96 320 8
hdpi 480*800 72*72 240 6
mdpi 480*320 48*48 160 4
ldpi 320*240 36*36 120 3
注:Android studio mipmap資料夾只存放啟動圖示icon
螢幕橫豎屏佈局切換:
1)單個佈局xml直接橫豎屏切換,不重新載入資料:android:configChanges="orientation|keyboardHidden|screenSize"
2)layout-land和layout-port佈局橫豎屏切換,不重新載入資料:FragmentActivity重寫onRetainCustomNonConfigurationInstance()
Activity 重寫onRetainNonConfigurationInstance()儲存資料,在onCreate()時判斷getLastNonConfigurationInstance()是否null:
Java程式碼- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- Object data = getLastNonConfigurationInstance();
- if (data == null) {
- findviewbyidLoadMyData();
- }
- ...
- }
1.開啟Android 工程包 SDK檔案,tools檔案,雙擊draw9patch.bat
2.彈出的視窗點選 File,點選要編輯的圖片open 9patch
3.編輯。滑鼠左鍵:劃線 / shift + 滑鼠左鍵:刪除劃線
4.儲存。點選save 9patch