Tôi đang sử dụng một TableLayout trong ứng dụng của mình. Nó chứa bốn TableRows mỗi chứa bốn ImageViews. Hành vi tôi muốn là chia tỷ lệ bố cục cho vừa với kích thước ngắn nhất.Làm thế nào tôi có thể nhận được một Android TableLayout để điền vào các phụ huynh trong chế độ phong cảnh?
Chế độ này hoạt động tốt ở chế độ dọc nhưng không hoạt động sai ở chế độ ngang.
Từ documentation có vẻ như vậy là do bố cục TableRow luôn được đặt thành WRAP_CONTENT. Mặc dù tôi có thể đặt kích thước của từng Chế độ xem riêng lẻ, nhưng TableLayout sẽ không hiển thị nếu tôi đặt Chế độ xem layout_height thành FILL_PARENT.
Tôi cảm thấy có điều gì đó đơn giản mà tôi đang thiếu. Có cách nào để có được TableLayout với TableRows để mở rộng để phù hợp với chiều cao trong chế độ phong cảnh?
Layout XML:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/table"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:shrinkColumns="*">
</TableLayout>
Java:
public class Example extends Activity {
private TableLayout mTable;
private int[] mDrawableIds = { R.drawable.draw01, R.drawable.draw02, R.drawable.draw03, R.drawable.draw04, R.drawable.draw05, R.drawable.draw06, R.drawable.draw07, R.drawable.draw08, R.drawable.draw09, R.drawable.draw10, R.drawable.draw11, R.drawable.draw12, R.drawable.draw13, R.drawable.draw14, R.drawable.draw15, R.drawable.draw16 };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTable = (TableLayout)findViewById(R.id.table);
for (int j=0; j<4; j++) {
TableRow tr = new TableRow(this);
tr.setLayoutParams(new ViewGroup.LayoutParams( LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
for (int i=0; i<4; i++) {
ImageView iv = new ImageView(this);
iv.setImageResource(mDrawableIds[j*4+i]);
iv.setScaleType(ImageView.ScaleType.FIT_CENTER);
iv.setAdjustViewBounds(true);
tr.addView(iv);
}
mTable.addView(tr);
}
}
}
GridView có hoạt động không cho trường hợp sử dụng của bạn không? Hướng dẫn GridView tại đây: http://developer.android.com/guide/tutorials/views/hello-gridview.html –
GridView dường như muốn cuộn thay vì thay đổi kích thước ImageViews thành bố cục ngang. Có lẽ nếu tôi tạo tài nguyên hình ảnh nhỏ hơn có thể hoạt động. Tôi đã hy vọng tránh thay đổi kích thước hình ảnh. –