Tôi đang cố gắng tạo bảng/lưới cho một số mục trong ứng dụng của mình và tôi muốn có một đường viền quanh mỗi ô để chia các mục và có liên kết chặt chẽ của cài đặt với mục đó. Ứng dụng này sẽ được sử dụng trong bối cảnh công nghiệp, nơi có thể có những người không quen với Android cần sử dụng ứng dụng này, do đó, cố gắng làm cho ứng dụng trở nên dễ dàng nhất có thể.Đường viền cho các ô trong GridLayout, TableLayout hoặc GridView?
Bảng/lưới sẽ chứa TextView
, EditText
, Spinner
, và Button
, và cũng sẽ được cuộn (thông qua ScrollView
mẹ).
Tôi đọc về số GridView
và thấy rằng (dường như) chỉ có thể nhận các mục theo chương trình, vui lòng sửa tôi nếu tôi sai. Tôi cảm thấy rằng điều này là không cần thiết vì tôi biết những gì tôi muốn và ở đâu. Ngoài ra, tôi đã không cố gắng thêm các mục vào một bố cục lập trình nào được nêu ra vì vậy tôi figured tôi sẽ thử các tùy chọn khác đầu tiên. Ngoài ra, GridView
documentation không nói theo cách này hay cách khác nếu đường viền được tự động hiển thị hoặc nếu bạn có thể hiển thị chúng.
Tôi bắt đầu với một TableLayout
và có thể nhận mọi thứ ngoại trừ các đường biên giới hoạt động. Tôi đã thử android:divider
để nhận các dòng nhưng điều đó không hiệu quả. Một ý nghĩ tôi có là tạo ra một bó của TextView
s với nền màu đen và ~ chiều rộng 2dp/chiều cao để tạo đường biên giới của riêng tôi. Điều này cảm thấy như một sự lãng phí lớn mặc dù. Sau đó, tôi cũng đọc số TableLayout documentation và thấy điều này: "Vùng chứa bảng xếp hạng không hiển thị đường viền cho hàng, cột hoặc ô của chúng".
Sau đó, tôi đã thử số GridLayout
và có cùng kết quả với số TableLayout
. Tôi đã thử padding
và margins
, không hoạt động. Ngoài ra, các trạng thái GridLayout documentation: "Lưới bao gồm một tập hợp các đường vô cùng mỏng tách riêng khu vực xem thành các ô".
Câu hỏi của tôi là:
Có một attirbute rằng tôi đã bỏ lỡ trong
TableLayout
hoặcGridLayout
rằng sẽ cho tôi đường biên giới thông qua xml?Nếu không, thì
GridView
sẽ cung cấp cho tôi những dòng tôi muốn?Tôi có thể thêm tất cả các mục được đề cập sâu rộng mà tôi muốn vào
GridView
không?
Tôi sẽ xem xét 'GridLayout' kết hợp với nền/ShapeDrawable bạn đã đề cập như là một giải pháp. Cảm ơn bạn đã thông tin! – TronicZomB