我正在開發一個Android應用程序,它導致我的設備有1024寬度尺寸的問題。我已經嘗試創建佈局文件夾佈局-W1024和佈局-mdpi-sw1024dp;但該設備改爲使用layout-mdpi文件夾。我使用15作爲最低的Android版本。獨立的1024個寬度的設備
有沒有其他方式可以使用我可以分開1024個設備?
我正在開發一個Android應用程序,它導致我的設備有1024寬度尺寸的問題。我已經嘗試創建佈局文件夾佈局-W1024和佈局-mdpi-sw1024dp;但該設備改爲使用layout-mdpi文件夾。我使用15作爲最低的Android版本。獨立的1024個寬度的設備
有沒有其他方式可以使用我可以分開1024個設備?
如果它適用於您的項目,您可以通過編程的方式來實現,像這樣的事情會根據屏幕的尺寸調用不同的佈局。這有一些限制,因爲它只能從一個Activity中調用(在你的情況下不應該是一個問題),並且如果你在整個應用程序中遇到佈局問題,它可能不是很有伸縮性。
有條件的width == 1024
可能應該被更大或更具體的東西替代,你需要玩一會兒才能使它工作。您還應該考慮屏幕的高度,而不僅僅是寬度。
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
或者,如果你想讓它以像素爲單位而不是:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int width = metrics.widthPixels;
然後:
//Depending on the width, set one layout or anotherone
setContentView(width == 1024?R.layout.for1024:R.layout.normal);
一樣,我只是試過這段代碼,size.x給了我455而不是1024?我需要做一些計算嗎?對不起,我是新手。 – user782400
我已經爲你更新了我的答案user782400 –
該設備是1024 ...? mdpi tablet佈局文件夾的正確名稱是layout-swXYZdp-mdpi,其中XYZ是最小寬度(因此:1024 * 600 => XYZ是600,而不是1024) –
我有sw600dp-mdpi和sw768dp-mdpi文件夾;但佈局文件仍然來自layout-mdpi文件夾。我不知道爲什麼會發生這種情況。 – user782400
你嘗試過 - 陸地和港口的變化?因爲我的默認值是-port(所以它會默認爲mdpi文件夾,如果沒有找到),而我猜測你主要是在內地使用它。 –