- hdpi - 240dpi,WVGA800(480*800)、WVGA84(480*854)。
- mdpi - 160dpi,HVGA(320*480)。
- ldpi - 120dpi,QVGA(240*320)、WQVGA400(240*400)、WQVGA432(240*432)。
先根據三種不同解析度的寬度,製作三張圖片,假定每一列要放八張圓圖,長寬分別為螢幕寬度除以八,即 60px、40px、30px。
將三張圖片使用相同命名分別放到 res/drawable-hdpi、res/drawable-mdpi、res/drawable-ldpi 裡。
Activity 程式如下。
public class DPIActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 垂直方向
LinearLayout vLL = new LinearLayout(this);
vLL.setOrientation(LinearLayout.VERTICAL);
LinearLayout hLL;
ImageView iv;
for (int i = 0; i < 8; i++) {
// 水平方向
hLL = new LinearLayout(this);
hLL.setOrientation(LinearLayout.HORIZONTAL);
// 每一列八張圓圖,依解析度不同呈現不同顏色
for (int j = 0; j < 8; j++) {
iv = new ImageView(this); // 只要用 R.drawable 就好,實際使用哪一種解析度由 Android 決定
iv.setImageResource(R.drawable.circle);
hLL.addView(iv);
}
vLL.addView(hLL);
}
this.setContentView(vLL);
}
}再來一口氣啟動三種解析度的 Android Emulator,使用的解析度分別為 WVGA800(480*800)、HVGA(320*480)、QVGA(240*320),然後在執行 Android App 時,系統會詢問要用哪一個 Emulator。連續執行三個 Android App 後,就可以看到以下的結果。





沒有留言:
張貼留言