2011-01-28 36 views
6

Tôi đang dùng this hướng dẫn. Như bạn có thể thấy trên hình ảnh this, đường viền màu xám chuẩn được áp dụng cho tất cả các phần tử trong thư viện. Tôi muốn loại bỏ biên giới khá xấu này, hoặc, thực sự, làm cho nó một biên giới 1 px thay vì (hoặc chỉ để hình ảnh có thể được phân biệt với nhau). Tôi đã cố gắng loại bỏ dòng này:Thay đổi kiểu đường viền trong Bộ sưu tập

imgView.setBackgroundResource(GalItemBg); 

Đó loại bỏ biên giới, nhưng sau đó những hình ảnh chồng chéo nhau và nó vẫn không phải là rất khá.

Vì vậy, làm cách nào để thay đổi đường viền? Và làm thế nào để tôi có được các yếu tố thư viện để không chồng lên nhau?

Trả lời

11

Tôi chắc chắn bạn đã khám phá ra câu trả lời cho vấn đề này, nhưng vì không có bài đăng nào, đây là một câu hỏi ngay bây giờ!

Bạn có thể đặt từng đối tượng imgView bên trong của một RelativeLayout với nền màu đen và 1 đệm. Sau đó trả lại đối tượng RelativeLayout có chứa ImageView thay vì trả lại chính ImageView.

public View getView(int position, View convertView, ViewGroup parent) 
{ 
    ImageView imgView = new ImageView(m_Context); 
    // do stuff initializing your imgView as before 
    RelativeLayout borderImg = new RelativeLayout(m_Context); 
    borderImg.setPadding(1,1,1,1); 
    borderImg.setBackgroundColor(0xff000000); 
    borderImg.addView(imgView); 
    return borderImg; 
} 

Cuối cùng, nó là dễ dàng hơn để thực thi một khoảng cách giữa Gallery hình ảnh của bạn bằng cách sử dụng phương pháp Gallery setSpacing(int pixels) để đặt một không gian giữa từng đối tượng Gallery. Bạn sẽ không nhận được viền đen xung quanh chúng, nhưng nền Gallery sẽ hiển thị giữa và sau chúng.

+0

Điều đó mang lại cho tôi một cảm hứng ClassCastException khi truyền nó sang Chế độ xem. –

+0

Kiểm tra mã của bạn, tôi chỉ kiểm tra lại mã này chính xác và không có vấn đề gì. Mã này nằm trong bộ điều hợp Thư viện của bạn. –

+0

Cảm ơn bạn đã kiểm tra lại. Tôi vẫn có cùng một vấn đề. Tôi mở rộng BaseAdapter ... có lẽ bạn đang làm việc với ArrayAdapter ? –

Các vấn đề liên quan