2015-09-04 12 views
7

Phát triển một ứng dụng cho Android TV, tôi gặp phải sự cố khi sử dụng Duyệt qua được cung cấp bởi thư viện hỗ trợ Leanback. Chúng ta có thể thay đổi mức ký quỹ giữa các mục của RowsFragment không?Đặt lề giữa các mục trên DuyệtFragment

+0

Có phải là yếu tố đệm một giải pháp? – Sebastiano

+0

Cảm ơn bạn đã trả lời nhanh, tôi có thể tìm thấy một giải pháp sau khi tất cả. – corochann

Trả lời

4

enter image description here

Tôi tự tìm thấy câu trả lời. Điều quan trọng là HorizontalGridView lưu trữ danh sách các mục hàng. Chúng ta có thể lấy tham chiếu của HorizontalGridView này bằng R.id.row_content. Cuối cùng, phương thức setItemMargin là giải pháp cho việc này. Dưới đây là mã mẫu và tôi có thể nhận được hình ảnh hàng đầu.

@Override 
public ViewHolder onCreateViewHolder(ViewGroup parent) { 
    HorizontalGridView horizontalGridView = (HorizontalGridView) parent.findViewById(R.id.row_content); 
    horizontalGridView.setItemMargin(400); // You can set item margin here. 

    ... 

    }; 
+0

làm cách nào tôi có thể đặt lề dọc cho các hàng trong danh sách. u có thể giúp tôi với điều này. –

+1

Hãy thử như '((ViewGroup.MarginLayoutParams) horizontalGridView.getLayoutParams()). SetMargins (0, 0, 0, 100);' Bạn có thể thay đổi lề của horizontalGridView chính nó. – corochann

+0

ok tôi sẽ cố gắng. và u cũng có thể cho tôi biết làm thế nào tôi có thể thiết lập đường viền màu trắng để thẻ hiển thị trong hàng? –

5

Bạn có thể ghi đè lên một số phong cách để đạt được điều này, ví dụ:

<style name="AppTheme.Leanback" parent="Theme.Leanback"> 
    .. 
    <item name="rowHorizontalGridStyle">@style/TvHorizontalGridView</item> 
    .. 
</style> 

<style name="TvHorizontalGridView" parent="Widget.Leanback.Row.HorizontalGridView"> 
    <item name="horizontalMargin">@dimen/margin_medium</item> 
    <item name="verticalMargin">@dimen/margin_medium</item> 
</style> 

nơi @dimen/margin_medium là kích thước của biên độ mà bạn muốn.

0

Lý tưởng ghi đè chi tiết kiểu như @Billy trả lời. Nó có thể không may mất một lúc để tìm ra whats gì. Nếu những gì bạn đang tìm kiếm không phải là phong cách, bạn dường như có thể ghi đè lên các tài nguyên leanback được xây dựng trong (không chắc chắn nếu đáng tin cậy/an toàn mặc dù). ví dụ:

<dimen name="lb_browse_rows_margin_top">167dp</dimen> 
<dimen name="lb_browse_item_vertical_spacing">8dp</dimen> 
<dimen name="lb_browse_expanded_row_no_hovercard_bottom_padding">28dp</dimen> 
Các vấn đề liên quan