안녕하세요 슈퍼가오리입니다.
오늘도 질문입니다 ^^
이렇게 노하우가 쌓이면 저도 나중에 답변이 가능하겠지요?^^ 많은 도움 부탁드립니다
A 엑티비티의 구조는 xml 로 구성하였습니다
도중에 java 코드에서 new LinearLayout(mContext); 하여 새로 레이아웃을 만들고(뷰또는 위젯개념)
해당 레이아웃에 버튼 3개를 붙였습니다 그 후에
엑티비티의 root layout (LinearLayout) 에 addview 하였습니다
해당 결과 화면 입니다
그림에서 보면 새로 생성된 레이아웃은 좌측 하단으로 붙어있습니다
원하는 레이아웃은 이렇습니다
위 화면과 같이 레이아웃을 구성할때에 옵션을 어떻게 줘야하는지 알고싶습니다.
참고를 위한 현재 소스는 다음과 같습니다
<코드 1: addview 하는소스>
LinearLayout layout = (LinearLayout) findViewById(R.id.container);
layout.addView(createbutton(m_context));
<코드 2: addview 되는 createbutton 소스>
View createbutton(Context mContext)
{
//객체들이 붙을 레이아웃 생성
LinearLayout container = new LinearLayout(mContext);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
200,
60,
0.0F);
container.setLayoutParams(params);
container.setOrientation(LinearLayout.HORIZONTAL);
//버튼을 3개 생성 xml 에 없음
for (int i = 0 ; i < 3; i++)
{
Button btn = new Button(mContext);
//클릭이벤트에서 구분가능한 아이디를 준다
btn.setId(i);
btn.setText("test text " +i);
btn.setWidth(60);
btn.setHeight(60);
//여기에 버튼 배경을 이미지로 만들면 될듯
//클릭 리스너 등록
btn.setOnClickListener(this);
//컨테이너에 버튼 붙임
container.addView(btn);
}
return container;
}
제 생각엔 <코드2> 에서 LinearLayout 생성하고 옵션값으로 정렬값을 주면될것같은데
가능하면 해당 코드를 알려주시면 감사하겠습니다.
제가 생각한 방법으로 안된다거나 다른 방법이 있다면 알려주시면 감사하겠습니다.
좋은하루되세요
LinearLayout.LayoutParams params = new LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, 60);
params.gravity = Gravity.RIGHT;
이렇게 하면 됩니다.