Android以编程方式在单个线性布局中添加三个相对布局

时间:2011-08-23 07:39:17

标签: android android-layout android-widget

我有一个xml格式的布局。但我需要在java代码中以编程方式执行所有这些操作。表示java代码中的整个xml文件。任何身体都可以帮助我。我是android的新手

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:id="@+id/layoutTop"

        >
        <Button android:id="@+id/btnBack" 
                android:text="Back"
                android:layout_width="100dp"
                android:layout_height="40dp"
                android:layout_marginTop="7dp"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="2dp" 
                android:textColor="#000000"

            /> 
        <ImageView 
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="40dp" 
            android:src="@+drawable/logo"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="7dp"

        />

        <Button android:id="@+id/btnQuit" 
                android:text="Quit"
                android:layout_width="100dp"
                android:layout_height="40dp"
                android:layout_marginTop="7dp"
                android:textColor="#000000"
                android:layout_alignParentRight="true"
            />  

    </RelativeLayout>

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="370dp"
        android:id="@+id/layoutMiddle"
        android:layout_below="@+id/layoutTop"
        android:background="#ffffff"
        android:layout_marginRight="2dp"
        android:layout_marginLeft="2dp" 
        >

        <TextView 
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:textColor="#000000"
            android:textSize="15dp"
            android:textStyle="bold"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="20dp"
        />
    </RelativeLayout>
     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:layout_below="@+id/layoutMiddle"
        android:layout_alignParentBottom="true"
        android:layout_marginTop="2dp"
        android:layout_marginBottom="2dp"
        >

    <!-- <ProgressBar
        android:layout_width="220dp" 
        android:layout_height="20dip" 
        style="?android:attr/progressBarStyleHorizontal"
        android:progressDrawable="@drawable/progress_bar_states"
        android:id="@+id/progressbar_Horizontal"
        android:max="100"
        android:layout_marginTop="7dp"
        android:layout_marginLeft="2dp"
        android:indeterminateOnly="false" 
        /> -->

        <SeekBar
            android:layout_width="220dp" 
            android:layout_height="30dip" 
            style="?android:attr/progressBarStyleHorizontal"
            android:progressDrawable="@drawable/progress_bar_states"
            android:id="@+id/progressbar_Horizontal"
            android:max="100"
            android:layout_marginTop="5dp"
            android:layout_marginLeft="2dp"
            android:indeterminateOnly="false" 
        /> 

    <Button android:id="@+id/btnSend" 
                android:text="Send"
                android:layout_width="88dp"
                android:layout_height="40dp"
                android:layout_marginTop="2dp"
                android:layout_alignParentRight="true"
                android:layout_marginRight="2dp"    
                android:textColor="#000000"
                android:layout_alignParentBottom="true"
                /> 


     </RelativeLayout>

</LinearLayout>

2 个答案:

答案 0 :(得分:2)

你可以为xml文件,因为它更快。但如果你需要,那么你可以这样做:

LinearLayout parent=new LinearLayout(this);
RelativeLayout rl1=new RelativeLayout(this);
RelativeLayout rl2=new RelativeLayout(this);
RelativeLayout rl3=new RelativeLayout(this);

您可以添加按钮和imageview以及所有内容。然后添加

rl1.addView(bt1);
.......
rl2.addView(img1);
....
rl3.addView(bt2);
.......
parent.addView(rl1);
parent.addView(rl2);
parent.addView(rl3);

答案 1 :(得分:1)

您应该以编程方式检查this blogpost关于做布局的问题。那么你应该能够自己快速地完成它。