2011-08-23 65 views
2

我有一個xml格式的佈局。但我需要在java代碼中以編程方式完成所有這些事情。意味着java代碼中的整個xml文件。任何機構都可以幫助我做到這一點。我是新來的androidAndroid以編程方式在一個線性佈局內添加三個相對佈局

<?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

您可以爲XML文件,因爲它是faster.But,如果你需要,那麼你可以這樣做:

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

您可以添加按鈕和imageview的並且all.Then添加

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

你應該真的檢查this blogpost關於以編程方式做佈局。那麼你應該能夠非常快地做到這一點。

相關問題