레이아웃 매개 변수 (너비, 높이 및 여백)를 설정하거나 LayoutParams를 프로그래밍 방식으로 특정 레이아웃에 설정하려면 레이아웃 유형을 부모는 알고 있어야합니다.목록보기의 사용자 지정된 행으로 사용되는 루트 xml 레이아웃의 LayoutParams 가져 오기
예 다음은 1
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
someLayout.setLayoutParams(lp);
는 someLayout 유형은 정말 알 수 필요가 없습니다. LinearLayout.LayoutParams는, someLayout의 부모가 LinearLayout 인 것을 의미합니다.
예 2
LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams)someLayout.getLayoutParams();
lp.width = LayoutParams.MATCH_PARENT;
lp.height = LinearLayout.LayoutParams.MATCH_PARENT;
부모 종류를 알 수없는 경우 문제가 온다. 커스터마이징 가능한리스트 뷰 행 레이아웃을 구현하면 알 수없는 행 상위가있는 상황이 발생합니다. 리스트 항목을 보관 유지하는 부모 이보기 안으로 들어가 예 레이아웃 목록보기 항목
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/country"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal|top">
.
.
</LinearLayout>
에 대한
는 어댑터 클래스에서의 getView 방법에 돌아왔다.
@+id/country
의 레이아웃으로 LayoutParams를 설정하는 방법 ???
내가 정말로 염려하는 것은 레이아웃에 여백을 설정하는 것입니다.
ViewGroup.LayoutParams에는 여백 속성이 없습니다. – hasan83
AbsListView.LayoutParams too – hasan83
아, 죄송합니다. 마지막 줄을 건너 뛰었습니다. 나는 나의 대답을 업데이트했다. – ivagarz