나는 오래된 스레드를 부활시키는 것을 싫어하지만 이것은 올바르게 대답하지 않은 문제이며 더 나아가이 문제에 직접 직면했습니다.
답변이 마음에 들면 코드까지 아래로 스크롤하십시오.
android : gravity와 android : layout_gravity는 다르게 작동합니다. 여기 내가 읽은 기사가 도움이되었습니다.
기사의 GIST : 높이 / 너비가 할당 된 후 중력이 뷰에 영향을줍니다. 따라서 중력 중심은 FILL_PARENT (자동 여백으로 생각)를 수행 한 뷰에 영향을 미치지 않습니다. layout_gravity center는 FILL_PARENT 인 뷰에 영향을 미칩니다 (자동 패드라고 생각).
기본적으로 android : layout_gravity는 프로그래밍 방식으로 액세스 할 수 없으며 android : gravity 만 가능합니다. OP의 경우와 내 경우에는 허용 된 답변으로 버튼이 세로 중앙에 배치되지 않습니다.
Karthi의 답변을 향상 시키려면 :
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.CENTER;
button.setLayoutParams(params);
에 링크 하십시오 LinearLayout.LayoutParams
.
android : layout_gravity는 "관련 메소드가 없음"을 나타내며 프로그래밍 방식으로 액세스 할 수 없습니다. 반면 중력은 수업의 한 분야입니다.