2011-01-13 155 views
1

alt text安卓:在標籤

的頂部佈局正如你所看到的,是的LinearLayout在選項卡的頂部。我想要的是將LinearLayout底部與標籤頂部對齊。

或者將RelativeLayout對齊到標籤的頂部也可以。

下面是上面的視圖對應的代碼:

<?xml version="1.0" encoding="UTF-8"?> 
<RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> 
    <LinearLayout android:layout_width="fill_parent" android:orientation="vertical" android:layout_height="wrap_content" android:id="@+id/LinearLayout02" android:layout_alignParentBottom="true"> 
     <FrameLayout android:id="@+id/FrameLayout02" android:layout_height="wrap_content" android:layout_width="fill_parent" android:paddingTop="20sp" android:paddingBottom="20sp"> 
      <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/record" android:layout_gravity="center_horizontal" android:id="@+id/RecordImageButton"></ImageButton> 
     </FrameLayout> 
     <SeekBar android:id="@+id/SeekBar01" android:layout_height="wrap_content" android:layout_width="fill_parent" android:paddingBottom="5sp" android:paddingLeft="10sp" android:paddingRight="10sp"></SeekBar> 
     <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/FrameLayout03"> 
      <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/LinearLayout02" android:layout_gravity="center_horizontal"> 
       <ImageButton android:layout_width="wrap_content" android:id="@+id/ImageButton01" android:layout_height="wrap_content" android:src="@drawable/play_rev"></ImageButton> 
       <ImageButton android:layout_width="wrap_content" android:id="@+id/ImageButton02" android:layout_height="wrap_content" android:src="@drawable/play_stop"></ImageButton> 
       <ImageButton android:layout_width="wrap_content" android:id="@+id/ImageButton03" android:layout_height="wrap_content" android:src="@drawable/play"></ImageButton> 
      </LinearLayout> 
     </FrameLayout> 
    </LinearLayout> 
</RelativeLayout> 

這裏是選項卡中的代碼:

<?xml version="1.0" encoding="utf-8"?> 
<TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/tabhost" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

     <TabWidget 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@android:id/tabs" 
     android:layout_alignParentBottom="true" /> 

     <FrameLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@android:id/tabcontent" /> 

    </RelativeLayout> 
</TabHost> 

MainActivity,其中設置了一個活動爲每個標籤:

public void initTabs() 
{ 
    Resources res = getResources(); // Resource object to get Drawables 
    TabHost tabHost = getTabHost(); // The activity TabHost 
    TabHost.TabSpec spec; // Resusable TabSpec for each tab 
    Intent intent; // Reusable Intent for each tab 

    intent = new Intent().setClass(this, FirstActivity.class); 
    spec = tabHost.newTabSpec("tab1").setIndicator("Tab", 
         res.getDrawable(R.drawable.ic_tab_artists)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, SecondActivity.class); 
    spec = tabHost.newTabSpec("tab2").setIndicator("Tab 2", 
         res.getDrawable(R.drawable.ic_tab_artists)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, ThridActivity.class); 
    spec = tabHost.newTabSpec("tab3").setIndicator("Tab 3", 
         res.getDrawable(R.drawable.ic_tab_artists)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

    tabHost.setCurrentTab(0); 
} 

回答

0
<?xml version="1.0" encoding="UTF-8"?> 
<RelativeLayout android:id="@+id/RelativeLayout01" 
    android:layout_width="fill_parent" android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <LinearLayout android:layout_width="fill_parent" 
     android:orientation="vertical" android:id="@+id/LinearLayout02" 
     android:layout_alignParentBottom="true" android:weightSum="1" 
     android:layout_height="wrap_content"> 
     <LinearLayout android:id="@+id/LinearLayout03" 
      android:layout_width="fill_parent" android:layout_height="fill_parent" 
      android:layout_weight=".25" android:weightSum="1" 
      android:orientation="vertical"> 
      <FrameLayout android:id="@+id/FrameLayout02" 
       android:layout_height="wrap_content" android:layout_width="fill_parent" 
       android:paddingTop="20sp" android:paddingBottom="20sp" 
       android:layout_weight=".5"> 
       <ImageButton android:layout_width="wrap_content" 
        android:layout_height="wrap_content" android:src="@drawable/record" 
        android:layout_gravity="center_horizontal" android:id="@+id/RecordImageButton"></ImageButton> 
      </FrameLayout> 
      <SeekBar android:id="@+id/SeekBar01" android:layout_height="wrap_content" 
       android:layout_width="fill_parent" android:paddingBottom="5sp" 
       android:paddingLeft="10sp" android:paddingRight="10sp"></SeekBar> 
      <FrameLayout android:layout_width="fill_parent" 
       android:layout_height="wrap_content" android:id="@+id/FrameLayout03"> 
       <LinearLayout android:layout_height="wrap_content" 
        android:layout_width="wrap_content" android:id="@+id/LinearLayout02" 
        android:layout_gravity="center_horizontal"> 
        <ImageButton android:layout_width="wrap_content" 
         android:id="@+id/ImageButton01" android:layout_height="wrap_content" 
         android:src="@drawable/play_rev"></ImageButton> 
        <ImageButton android:layout_width="wrap_content" 
         android:id="@+id/ImageButton02" android:layout_height="wrap_content" 
         android:src="@drawable/play_stop"></ImageButton> 
        <ImageButton android:layout_width="wrap_content" 
         android:id="@+id/ImageButton03" android:layout_height="wrap_content" 
         android:src="@drawable/play"></ImageButton> 
       </LinearLayout> 
      </FrameLayout> 
     </LinearLayout> 
     <LinearLayout android:id="@+id/TabLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight=".75"> 
     </LinearLayout> 
    </LinearLayout> 
</RelativeLayout> 

您可以添加你的TabHost事物進入TabLayout(最後一個LinearLayout)。希望能解決你的問題。

+0

不,應該是兩種不同的看法。 – Awesome 2011-01-14 07:41:50

0

您可以創建PARAMS和規則:

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT) 

params.addRule(RelativeLayout.Top, anotherView.getId()); 

這條線意味着一種觀點認爲底部將是頂級的另一...這可以工作,但它被勸做,在XML。