0
나는 각각에 5 개의 뷰가 추가 된 가로형 LinearLayout을 동적으로 생성하고 있습니다. 그런 다음 스크롤 뷰 내부에있는 수직 LinearLayout에 추가됩니다.가로형 LinearLayout 레이아웃을 중심에 넣으려고 시도합니다.
layout.setGravity (Gravity.CENTER)로 중력을 설정했지만 중심에 있지 않고 왼쪽에 있습니다.
수평은 LinearLayouts에게
void AddButton(LinearLayout layout, String name, int i)
{
favBut[i]=new ImageView(this);
if (cGlobals.conFav.contains(name) )
favBut[i].setImageResource(R.drawable.heartselected2);
else
favBut[i].setImageResource(R.drawable.heartunselected2);
favBut[i].setId(defStartFavId+i);
favBut[i].setOnClickListener(this);
layout.addView(favBut[i]);
int w=getWindowManager().getDefaultDisplay().getWidth();
w-=200; // hearts
w=w/2;
Button but1=new Button(this);
but1.setText(name);
but1.setWidth(w);
layout.addView(but1);
but1.setOnClickListener(this);
but1.setId(defStartButId+i);
}
XML 파일 레이아웃
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/butVol"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:textSize="24px"
android:text="Volume"
android:textColor="#ff0000ff"
android:layout_gravity="center"
/>
<Button
android:id="@+id/butRington"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:textSize="24px"
android:text="Rington"
android:textColor="#ff0000ff"
android:layout_gravity="center"
/>
012,351,641의 linar 레이아웃에 추가 버튼을지지
for(int i=0; i<cGlobals.mNames.length; i+=2)
{
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.HORIZONTAL);
layout.setGravity(Gravity.CENTER);
LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layout.setLayoutParams(llp);
AddButton(layout, cGlobals.mNames[i], i);
TextView t=new TextView(this);
t.setText(" ");
layout.addView(t);
if (i+1<cGlobals.mNames.length)
AddButton(layout, cGlobals.mNames[i+1], i+1);
Container.addView(layout);
}
코드를 생성하는 코드
안녕, 나는 혼동 해요, 수평 레이아웃은 지금 –
@Tedpottel 그냥 wrap_content에 대한 내 의견을 마음, 위의 첫 번째 결코 시도하지 WRAP_CONTENT로 설정됩니다. 작동하지 않으면 레이아웃 parms을 정의하는 맨 위 행을 wrap_content, wrap_content로 변경하십시오. – logray