我試圖以編程方式在網格佈局中放入指定數量的圖像,我希望它們均勻分佈並均勻分佈。每當我嘗試添加多個圖像的網格佈局只顯示一個。我究竟做錯了什麼?網格佈局添加均勻間隔的圖像
XML:
<GridLayout
android:id="@+id/gridlayout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="6"
android:gravity="center"/>
的Java:
//reset data and grid
data.clear();
gridLayout.removeAllViews();
Random random = new Random();
for(int i = 0; i < num; i++){
data.add(String.format("%." + 0 + "f", random.nextDouble() * (6 - 1) + 1));
ImageView imageView = new ImageView(getContext());
switch (data.get(i)) {
case "1":
imageView.setImageResource(R.drawable.dice1);
break;
case "2":
imageView.setImageResource(R.drawable.dice2);
break;
case "3":
imageView.setImageResource(R.drawable.dice3);
break;
case "4":
imageView.setImageResource(R.drawable.dice4);
break;
case "5":
imageView.setImageResource(R.drawable.dice5);
break;
default:
imageView.setImageResource(R.drawable.dice6);
break;
}
gridLayout.addView(imageView, i);
}
是的!這是如此關!唯一的問題是我的網格佈局不像你的那樣是整個屏幕,所以這發生了很多= http://imgur.com/a/jiKAJ。如何通過寬度和高度來適應圖像? – Jared
Nvm!我做的。使用這個「int height = gridLayout.getMeasuredHeight()/ gridLayout.getRowCount();」爲高度,它完美的作品!謝謝 – Jared
我實際上正在處理這個問題。只需要小心你只能通過實現全局佈局監聽器來使用測量高度,或者只是創建一個自定義網格佈局並覆蓋onMeasure方法。我正在更新我的答案 –