레이아웃을 동적으로 가운데 맞춤해야하지만 레이아웃을 추가하는 데 inflate 메소드를 사용하는 것이 문제입니다. 그리고 버튼을 중심으로하고 싶습니다.Android 레이아웃을 부 풀릴 때 동적으로 버튼 중앙에 배치
중력, 레이아웃 _ 그라비티와 같은 xml 속성을 추가하려고했습니다. 그러나 그것은 효과가 없었습니다. 그리고 매개 변수를 추가하려고 시도했지만 xml을 부풀리기 때문에 매개 변수를 추가 할 수 없습니다. addRule 메서드를 사용할 수 없기 때문에.
그런 다음 루트 레이아웃에 중력 속성을 추가하여 모든 요소 중심을 만들려고했으나 해결되지 않았습니다.
여기 내 코드가 있습니다.
actvity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<SurfaceView
android:id="@+id/surfaceView1"
android:layout_width="match_parent"
android:layout_height="335dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:id="@+id/buttons_layout"
android:layout_below="@+id/surfaceView1"
>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="29dp"
android:text="Button" />
</RelativeLayout>
</RelativeLayout>
three_buttons_layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="29dp"
android:text="Button 1" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="29dp"
android:text="Button 2" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 3" />
</LinearLayout>
그리고 여기 내 자바 코드 나는 중심으로 Button1을, Button2를 및 Button3을 원하는
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
parent = (ViewGroup)findViewById(R.id.buttons_layout);
captureButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
camera.takePicture(null, null, photoCallback);
captureButton.setVisibility(View.GONE);
inflater.inflate(R.layout.three_buttons_layout, parent, true);
}
});
입니다.
당신의 LinearLayout의 안드로이드를 줄 : layout_width = "fill_parent" –
당신을합니까를 버튼을 수평 중심으로 배치하거나 화면 중앙에 배치하고 싶습니까? – smok
나는 그 (것)들을 수평하게 중심에두고 싶다. –