사용자 정의 xml 속성 을 사용 하여 RecyclerView 의 LayoutManager 를 지정 합 니 다.
1849 단어 안 드 로 이 드 학습
/**
* Constructor used when layout manager is set in XML by RecyclerView attribute
* "layoutManager". Defaults to single column and vertical.
*/
@SuppressWarnings("unused")
public StaggeredGridLayoutManager(Context context, AttributeSet attrs, int defStyleAttr,
int defStyleRes) {
Properties properties = getProperties(context, attrs, defStyleAttr, defStyleRes);
setOrientation(properties.orientation);
setSpanCount(properties.spanCount);
setReverseLayout(properties.reverseLayout);
setAutoMeasureEnabled(mGapStrategy != GAP_HANDLING_NONE);
mLayoutState = new LayoutState();
createOrientationHelpers();
}
다른 몇 가지 미리 설 치 된 Layout Manager 의 하위 클래스 는 모두 유사 한 구조 기 를 가지 고 있다.
설명 에 따 르 면 XML 이 사용자 정의 속성 layoutManager 를 지정 할 때 시스템 은 이 속성 값 에 따라 LayoutManager 를 지정 합 니 다. 따라서 레이아웃 파일 을 쓸 때 사용자 정의 속성 을 추가 하면 LayoutManager 를 직접 지정 할 수 있 습 니 다.