Android 에서 GridView 레이아웃 이 전체 중간 방법 예 시 를 실현 합 니 다.
2140 단어 androidgridview배치 가 가운데 에 있다.
본 고 는 주로 안 드 로 이 드 에서 GridView 구조의 전체적인 중심 에 관 한 내용 을 소개 하 였 으 며,자신 이 프로젝트 에서 문제 에 부 딪 혔 다 는 기록 을 공유 하여 여러분 에 게 참고 학습 을 제공 하 였 습 니 다.다음은 더 이상 말 하지 않 겠 습 니 다.상세 한 소 개 를 해 보 겠 습 니 다.
효과 그림:
예제 코드:
/**
* gridView 。
* @param numColumns
* @param gridView
*/
public static void calGridViewSumWH(int numColumns ,GridView gridView) {
// GridView Adapter
ListAdapter listAdapter = gridView.getAdapter();
if (listAdapter == null) {
return;
}
int totalHeight = 0;
int totalWidth = 0;
for (int i = 0, len = listAdapter.getCount(); i < len; i++) { // listAdapter.getCount()
View listItem = listAdapter.getView(i, null, gridView);
listItem.measure(0, 0); // View
totalWidth = listItem.getMeasuredWidth();
if ((i+1)%numColumns == 0) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
totalHeight += listItem.getMeasuredHeight() + gridView.getVerticalSpacing(); //
} else {
totalHeight += listItem.getMeasuredHeight();
}
}
if ((i+1) == len && (i+1)%numColumns != 0) {
totalHeight += listItem.getMeasuredHeight(); //
}
}
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
totalHeight += 20;
}
if (listAdapter.getCount() < numColumns) {
gridView.setNumColumns(listAdapter.getCount());
}
ViewGroup.LayoutParams params = gridView.getLayoutParams();
params.height = totalHeight;
params.width = totalWidth * listAdapter.getCount();
gridView.setLayoutParams(params);
}
사용 시 부모 레이아웃 에 비해 가운데 에 있 을 것 입 니 다.예:
RelativeLayout android:layout_centerHorizontal="true"
총결산이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.