是否可以動態設置縱向模式和橫向模式? 例如,我需要應用風景和肖像模式可行大MDPI,HDPI大和XLARGE如何根據設備動態設置方向?
對於其他決議,如正常的華電國際,華電國際正常等,我只需要縱向模式。
任何人都可以幫助我嗎?
是否可以動態設置縱向模式和橫向模式? 例如,我需要應用風景和肖像模式可行大MDPI,HDPI大和XLARGE如何根據設備動態設置方向?
對於其他決議,如正常的華電國際,華電國際正常等,我只需要縱向模式。
任何人都可以幫助我嗎?
您可以動態地設置這樣的方向:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
和
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
您可以檢查與屏幕密度:
switch (getResources().getDisplayMetrics().densityDpi) {
case DisplayMetrics.DENSITY_LOW:
// ...
break;
case DisplayMetrics.DENSITY_MEDIUM:
// ...
break;
case DisplayMetrics.DENSITY_HIGH:
// ...
break;
case DisplayMetrics.DENSITY_XHIGH:
// ...
break;
}
是有可能迫使這些的東西。您可以檢測設備的密度,並可以加載相應的xml文件。
您可以通過查看顯示的指標檢測密度:
DisplayMetrics metrics = getResources().getDisplayMetrics();
然後看着metrics.densityDpi
。然後您可以相應地加載不同的資源。
int layoutId;
switch(metrics.densityDpi) {
case DisplayMetrics.DENSITY_LOW:
layoutId = R.layout.lowthingy
break;
case DisplayMetrics.DENSITY_MEDIUM:
layoutd = R.layout.mediumthingy
break;
... (for other densities)
}
setContentView(layoutID);
但只是因爲你可以做到這一點,並不意味着你應該。我真的認爲這不是最好的方法。我真的認爲你應該read this documentation.
這有可能嗎? **是** –
我認爲你很困惑 - Android框架會自動檢測模式並加載正確的資源。如果您希望在某些分辨率/方向上看起來不同,則只需要使資源過載 –