AndroidTV:ListRow, ListRowPresenter
8670 단어 Android
Introduction
Android leanback support library에는 사용된 API를 나타내는 몇 가지 컨텐트가 있습니다.
수평 정렬 내용의 API를 설명합니다.
Blog: 유키의 꺾임
Overview
안드로이드TV의 디자인 가이드에는 화면 위아래를 카테고리 등으로 확보하는 지침이 적혀 있다.
따라서 내용 목록은 수직 전개 대신 수평 전개
ListView
를 선택한다.[범주별 미디어 컨텐츠 목록]
Horizontal list
Android leanback support library는 목록 관리 컨텐츠의 범주를 제공합니다.
GridView
ListRow
private ArrayObjectAdapter mRowsAdapter;
private static final int NUM_ROWS = 4;
private void buildRowsAdapter() {
mRowsAdapter = new ArrayObjectAdapter(new ListRowPresenter());
for (int i = 0; i < NUM_ROWS; ++i) {
ArrayObjectAdapter listRowAdapter = new ArrayObjectAdapter(
new StringPresenter());
listRowAdapter.add("Media Item 1");
listRowAdapter.add("Media Item 2");
listRowAdapter.add("Media Item 3");
HeaderItem header = new HeaderItem(i, "Category " + i, null);
mRowsAdapter.add(new ListRow(header, listRowAdapter));
}
mBrowseFragment.setAdapter(mRowsAdapter);
}
ListRow는 ListRowPresenter
의 하위 클래스이기 때문에 Row
가 있다.HeaderItem과 연관된 컨텐츠를 하위 요소로 관리할 수 있도록 확장합니다.
다음 그림은 ListRow의 구성입니다.
[ListRow] ListRow는 하위 요소를 ObjectArry에 유지합니다. 위의 샘플 코드는 HeaderItem 및 String의 그룹입니다. ※ String Procenter는 별도로 준비한 String 전용 Presenter 다음 그림은 서브요소의 구조입니다. [Child Elements] 이러한 행 목록은 항상 String Present에 바인딩되어 수평으로 확장됩니다. Vertical list ListRow는 행의 목록입니다. 여기에 헤더 (클래스 등) 를 추가합니다. 열 목록을 만들기 위해 ArrayObjectAdapter로 ListRow를 관리합니다. 여러 줄 목록(열×행), ListRow를 열 목록으로 표시합니다. ListRow는 모델이고, ListRowPresenter는 Presenter로 작용한다. 최종 데이터 구조는 다음과 같다. [ListRows] 이러한 열 목록은 항상 Horizontal GridView에 바인딩되어 수직으로 확장됩니다. APIs ListRow VertialGridView ┗ android.support.v17.leanback.widget.Row Class Overview A row composed of a optional HeaderItem, and an ObjectAdapter describing children. HeaderItem(모두) 및 하위 요소는 정의된 ObjectAdapter로 구성됩니다. Summary ListRow(HeaderItem header, ObjectAdapter adapter) : > (no discription) : ListRow를 초기화합니다.행의 메타정보가 되는 HeaderItem 및 목록에 표시된 컨텐트를 매개 변수로 사용하는 ObjectAdapter getAdapter() : > Get the ObjectAdapter that represents a list of objects. : 컨텐트 목록을 표시하는 ObjectAdapter를 반환합니다. ListRowPresenter android.support.v17.leanback.widget.ListRow ┗ android.support.v17.leanback.widget.Presenter ┗ android.support.v17.leanback.widget.RowPresenter Class Overview ListRowPresenter renders ListRow using a android.support.v17.leanback.widget.ListRowPresenter hosted in a HorizontalGridView . ListRowPreser 렌더링 ListRow.ListRow는 Horizontal GridView를 소유한 ListRowView로 바인딩됩니다. Hover card Optionally, ListRowView can be used to display a view for the currently focused list item below the rendered list. This view is known as a hover card. 포커스 항목을 지정하는 Preselector의 set H overCard Presenter Selector를 사용할 수 있습니다. 예를 들어 초점을 맞춘 항목을hovercard로 표시할 수 있습니다. Selection animation ListRowPresenter disables RowPresenter's default dimming effect and draw a dim overlay on top of each individual child items. Subclass may override and disable setHoverCardPresenterSelector(PresenterSelector) and write its own dim effect in isUsingDefaultListSelectEffect() . ListRowPresenter는 RowPreser의 표준 효과를 사용하지 않고, 줄에 초점을 맞추지 않은 내용 목록에 중첩 효과를 그립니다. 하위 클래스는 is U s i ngDefaultListSelectEffect를 무효화하고 onSelectLevelChanged로 효과를 재정의할 수 있습니다. Shadow ListRowPresenter applies a default shadow to child of each view. Call onSelectLevelChanged(RowPresenter.ViewHolder) to disable shadow. Subclass may override and return false in setShadowEnabled(boolean) and replace with its own shadow implementation. ListRowPreser는 표준 뷰에 그림자 효과를 적용합니다.이것은 setShadowEnabled를 통해 비활성화할 수 있습니다. 하위 클래스는 isussingDefault Shadow () 에서 가짜를 되돌려 자신의 그림자 효과를 실현할 수 있습니다. Summary 다음은 주요 API입니다. ListRowPresenter (int zoomFactor) : > Constructs a ListRowPresenter with the given parameters. isUsingDefaultShadow() : Controls the zoom factor used when an item view is focused. One of zoomFactor , ZOOM_FACTOR_NONE , ZOOM_FACTOR_SMALL , ZOOM_FACTOR_MEDIUM : ListRowPresent를 초기화합니다. zoomFactor 매개변수는 View가 초점을 맞출 때 초점 계수를 지정합니다.계수 선택(ZOOM FACTOR NONE, ZOOM FACTOR SMALL, ZOOM FACTOR MEDIUM, ZOOM FACTOR LARGE) setHoverCardPresenterSelector(PresenterSelector selector) : > Set PresenterSelector used for showing a select object in a hover card. : 선택한 항목을 Hover card로 표시하기 위한 PresenterSelector 설정 getHoverCardPresenterSelector() : > Get PresenterSelector used for showing a select object in a hover card. : 선택한 항목을 Holver 카드로 표시하기 위한 PresenterSelector 가져오기 getShadowEnabled() : > Returns ZOOM_FACTOR_LARGE if child shadow is enabled. : 하위 요소의 섀도우 효과가 활성화되어 있으면 True로 돌아갑니다. setShadowEnabled(boolean enabled) : > Enable or disable child shadow. : 하위 요소의 섀도우 효과 활성화/비활성화 isUsingDefaultShadow() : > Returns true if true , where default shadow is applied to each individual child of SDK >= 18 . : SDK 버전이 18보다 크면 True로 돌아갑니다.표준 그림자 효과는 Horizontal GridView의 하위 요소로 개별적으로 채워집니다. License: Portions of this page are modifications based on work created and shared by the Android Open Source Project
and used according to terms described in the Creative Commons 2.5 Attribution License .
Reference
이 문제에 관하여(AndroidTV:ListRow, ListRowPresenter), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Yuki_312/items/f10f2942a6d42880b6d3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)