2015-04-03 20 views
8

Khi xem các ưu đãi Android TV và được xây dựng trong các ứng dụng như YouTube, chúng xuất hiện để sử dụng bố cục tiêu chuẩn như ở đây:Preferences Android TV chuẩn

Preference Screen 1

Preference Screen 2

tôi không thể tìm thấy bất kỳ ví dụ nào về việc triển khai tùy chọn trên Android TV và không thể tìm thấy các bố cục ở trên được tham chiếu trong bất kỳ thư viện LeanBack etc nào.

Đây có phải là "chuẩn" mà tôi có thể sử dụng lại (như Android PreferenceFragment bình thường) hay tôi phải thiết kế hệ thống tùy chọn của riêng mình?

Hình ảnh đầu tiên có thể được sao chép bằng LeanBack "BrowseFragment" nhưng hình ảnh thấp hơn không thể được triển khai bằng bất kỳ thứ gì tôi đã tìm thấy.

Trả lời

4

CẬP NHẬT

Các new support libraries vừa được phát hành. Tất cả mưa đá GuidedStepFragment! Nó phải chính xác những gì bạn đang tìm kiếm.


Không, không may rằng quan điểm không được cung cấp như một widget độc trong thư viện Leanback. Nếu bạn muốn tự mình tìm kiếm, see here.

Nó có thể được triển khai khá dễ dàng, nhưng than ôi, bạn là của riêng bạn.

+0

Suy nghĩ có thể là trường hợp nhưng nghĩ tốt nhất nên hỏi xung quanh trước khi giả định. – Kuffs

+1

Kiểm tra cập nhật của tôi! – Sebastiano

1

Vì khoảng thời gian bản gốc đã được trả lời, hiện tại thư viện hỗ trợ tùy chọn Leanback có thể được bao gồm và sử dụng. Xem liên kết sau: http://developer.android.com/tools/support-library/features.html#v17-preference

Cụ thể là bạn không chỉ muốn có Hướng dẫn sử dụng, mà còn để mở rộng BaseLeanbackPreferenceFragment.

+0

Câu trả lời khác nhau. Bây giờ có một thẻ Preference thực tế, câu trả lời còn lại khác là tham chiếu đến GuidedStepFragment hoàn toàn khác với BaseLeanBackPreferenceFragment. Tôi sẽ cập nhật câu trả lời để cụ thể hơn. – kingargyle

+0

Cho đến nay tôi chưa thấy bất kỳ Ứng dụng phổ biến nào áp dụng thư viện hỗ trợ tùy chọn v17. Tôi tự hỏi nếu nó được đề xuất là tiêu chuẩn tiếp theo cho sở thích hay chỉ là một cách tiện dụng để chia tất cả những điều này thành một xml? –

0

Tôi tìm thấy mã này trong bản dựng AOSP cho Android STB

Làm việc cho Android 6.0 AOSP cũng như với Android TV gốc. Kiểm tra bổ sung với resolveActivity() là cần thiết cho các thiết bị không phải TV.

public static String COMPONENT_TV_SETTINGS = "com.android.tv.settings/com.android.tv.settings.MainSettings"; 

Intent intent = new Intent(); 
intent.setComponent(ComponentName.unflattenFromString(COMPONENT_TV_SETTINGS)); 

if (intent.resolveActivity(getActivity().getPackageManager()) == null) { 
    intent.setAction(Settings.ACTION_SETTINGS); // Standard settings 
} 

startActivity(intent); 
+0

Điều này không trả lời được câu hỏi. – Kuffs

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