基本上我試圖爲平板電腦製作應用程序。 用戶將在桌面佈局中添加和刪除一堆小部件。它需要是動態的,以便根據表格佈局的寬度和高度來調整窗口大小的大小。獲取Android屏幕的尺寸
要做到這一點,我試圖在tablelayout中製作一個3x3網格。我敢肯定,你猜對了,每個廣場的桌面佈局寬度和高度都有33%。
這是我得到:
DisplayMetrics metrics;
int totalScreenSizeH;
int totalScreenSizeW;
TableLayout contentTable;
LinearLayout contentLayout;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Get the UI detail
metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
totalScreenSizeH = metrics.heightPixels;
totalScreenSizeW = metrics.widthPixels;
contentTable=(TableLayout)findViewById(R.id.tableLayout1);
contentLayout=(LinearLayout)findViewById(R.id.contentLayout);
int tableWidth =contentTable.getWidth();
int tableHeight=contentTable.getHeight();
int layoutWidth=contentLayout.getWidth();
int layoutHeight=contentLayout.getHeight();
Log.v("Table Width",""+tableWidth);
Log.v("Table Height",""+tableHeight);
Log.v("Layout Width",""+layoutWidth);
Log.v("Layout Height",""+layoutHeight);
所以纔來解釋這一點更好。 linearLayout包含具有3個表格行的表格佈局。我認爲我能夠獲得這些寬度和高度,但由於某種原因,兩者的尺寸都是0。一個我有寬度和高度變暗,我將保存該變量,並基於這些變量/ 3創建小部件。
所以2個問題:
1:是這樣來處理動態調整大小部件的正確途徑。或者這是處理這樣的問題的錯誤方法?
2:爲什麼這些2-4變量都回來爲0的任何想法?
我不知道確切的答案,但我可以指出你的資源,這將幫助你巨大支持表和電話(和各種維度),以及支持儀表板佈局(這聽起來像你的東西用你的3x3網格來描述)。谷歌2011年IO應用程序有一些偉大的指導方針,我建議採取看看來源,看看他們在這裏做了什麼:http://code.google.com/p/iosched/ – Jack