마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

인플레이트 후 매치 페이런트 시키기

0 추천

클래스 하나가 테이블로우를 상속 받습니다.

그 클래스에서 view.inflate 시킵니다.

인플레이트 할때 테이블로우 박습니다.

그럼 출력은 잘됩니다.

단지!!!! 인플레이트 할때 layout이 화면에 꽉 차지 않습니다.

상속받은 테이블로우는 좌우 길이가 꽉 차는데

인플레이트 하고 박은 레이아웃은 꽉 차지 않는다는거죠.

 

상속받은 테이블로우도 동적으로 매치페이런트로 설정합니다.

인플레이트 할 레이아웃도 매치페이런트로설정합니다.

 

결과는 꽉 차지 않습니다;;

 

public class AccAssetItem extends TableRow
View v = View.inflate(mContext, R.layout.asset_row_big, this);  

물론 우회방법은 있습니다;;

저 레이아웃 안에 있는걸 동적으로 다 코딩하면 되죠 ㅠ

사실 저 레이아웃 안에 뷰가 3개밖에 안되지만

엄청 귀찮습니다.

 

도와주세요;

SofKaints (560 포인트) 님이 2016년 12월 9일 질문

1개의 답변

0 추천

LayoutParams 로 안되나요??

ViewGroup.LayoutParams params = v.getLayoutParams();
params.width = ViewGroup.LayoutParams.MATCH_PARENT;

이거 아니면

ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
v.setLayoutParams(params);

해보세요.

 

물론 제가 해보지는 않았습니다. 어쨌든 Viewgroupd이니가 되지 않을까 싶네요.

Development Guy (70,570 포인트) 님이 2016년 12월 12일 답변
...