2013-12-11 30 views
0

我想設置自定義欄上面的Tabhost。但它不會來。我不想使用「requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);」原因是我想在我的所有屏幕上使用相同的代碼。在所有其他屏幕中,除了帶有tabhost的這個屏幕外,它完美無缺。任何原因 ?自定義標題欄不會超出TabHost在android

代碼TitleBar中:

<RelativeLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:orientation="vertical"> 

      <ImageView 
       android:id="@+id/windowtitle" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_centerInParent="true" 
       android:background="#0a2436" 
       android:gravity="center_horizontal|center_vertical" 
       android:paddingBottom="10dip" 
       android:paddingTop="10dip" 
       android:src="@drawable/logo"> 
      </ImageView> 

      <ImageButton 
       android:id="@+id/syncbutton" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_marginTop="3dip" 
       android:background="@android:color/transparent" 
       android:src="@drawable/sync" 
       android:gravity="center" 
       android:text="Sync" /> 
     </RelativeLayout> 

全碼:

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

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:orientation="vertical"> 

     <ImageView 
      android:id="@+id/windowtitle" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:background="#0a2436" 
      android:gravity="center_horizontal|center_vertical" 
      android:paddingBottom="10dip" 
      android:paddingTop="10dip" 
      android:src="@drawable/logo"> 
     </ImageView> 

     <ImageButton 
      android:id="@+id/syncbutton" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_marginTop="3dip" 
      android:background="@android:color/transparent" 
      android:src="@drawable/sync" 
      android:gravity="center" 
      android:text="Sync" /> 
    </RelativeLayout> 

    <TabHost 
     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" 
      android:padding="0dp" > 

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

      <View 
       android:id="@+id/separator" 
       android:layout_width="fill_parent" 
       android:layout_height="2dip" 
       android:layout_below="@android:id/tabs" /> 

      <FrameLayout 
       android:id="@android:id/tabcontent" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_above="@+id/btnSend" 
       android:layout_below="@+id/separator" 
       android:paddingBottom="45dip" > 

       <!-- Scrollview for message data --> 

       <ScrollView 
        android:id="@+id/formTab" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:scrollbars="vertical" > 

        <LinearLayout 
         android:id="@+id/formLayout" 
         android:layout_width="fill_parent" 
         android:layout_height="wrap_content" 
         android:orientation="vertical" > 

         <View 
          android:layout_width="fill_parent" 
          android:layout_height="5dip" /> 
        </LinearLayout> 
       </ScrollView> 
      </FrameLayout> 
     </RelativeLayout> 
    </TabHost> 

    <TableLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_centerInParent="true" 
     android:gravity="bottom" 
     android:stretchColumns="*" > 

     <TableRow 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center_horizontal" > 

      <Button 
       android:id="@+id/home" 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:background="#092435" 
       android:gravity="center" 
       android:padding="15dip" 
       android:text="Activity" 
       android:textColor="#ffffff" /> 

      <Button 
       android:id="@+id/status" 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:background="#092435" 
       android:gravity="center" 
       android:padding="15dip" 
       android:text="Support" 
       android:textColor="#ffffff" /> 

      <Button 
       android:id="@+id/support" 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:background="#092435" 
       android:gravity="center" 
       android:padding="15dip" 
       android:text="Messages" 
       android:textColor="#ffffff" /> 
     </TableRow> 
    </TableLayout> 

</RelativeLayout> 

問候

回答

1

更改您佈局這個......因爲你需要的標題佈局

涉及您的tabhost

android:layout_below屬性添加到tabhost

<RelativeLayout 
    android:id="@+id/title" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/windowtitle" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:background="#0a2436" 
     android:gravity="center_horizontal|center_vertical" 
     android:paddingBottom="10dip" 
     android:paddingTop="10dip" 
     android:src="@drawable/ic_launcher" > 
    </ImageView> 

    <ImageButton 
     android:id="@+id/syncbutton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_marginTop="3dip" 
     android:background="@android:color/transparent" 
     android:gravity="center" 
     android:src="@drawable/ic_launcher" 
     android:text="Sync" /> 
</RelativeLayout> 

<TabHost 
    android:id="@android:id/tabhost" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_below="@+id/title" > 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:padding="0dp" > 

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

     <View 
      android:id="@+id/separator" 
      android:layout_width="fill_parent" 
      android:layout_height="2dip" 
      android:layout_below="@android:id/tabs" /> 

     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_above="@+id/btnSend" 
      android:layout_below="@+id/separator" 
      android:paddingBottom="45dip" > 

      <!-- Scrollview for message data --> 

      <ScrollView 
       android:id="@+id/formTab" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:scrollbars="vertical" > 

       <LinearLayout 
        android:id="@+id/formLayout" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:orientation="vertical" > 

        <View 
         android:layout_width="fill_parent" 
         android:layout_height="5dip" /> 
       </LinearLayout> 
      </ScrollView> 
     </FrameLayout> 
    </RelativeLayout> 
</TabHost> 

<TableLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_centerInParent="true" 
    android:gravity="bottom" 
    android:stretchColumns="*" > 

    <TableRow 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" > 

     <Button 
      android:id="@+id/home" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:background="#092435" 
      android:gravity="center" 
      android:padding="15dip" 
      android:text="Activity" 
      android:textColor="#ffffff" /> 

     <Button 
      android:id="@+id/status" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:background="#092435" 
      android:gravity="center" 
      android:padding="15dip" 
      android:text="Support" 
      android:textColor="#ffffff" /> 

     <Button 
      android:id="@+id/support" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:background="#092435" 
      android:gravity="center" 
      android:padding="15dip" 
      android:text="Messages" 
      android:textColor="#ffffff" /> 
    </TableRow> 
</TableLayout> 

</RelativeLayout> 
+0

謝謝「@Name無法顯示」;)它的工作 – user45678

+0

歡迎:) @ user45678 –

+0

如果它工作..接受它..這將有助於其他人;) –

0

嘗試設置aligment到您的佈局:

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:orientation="vertical"> 

    <!-- use an id --> 
    <!-- set alignParentTop to true --> 
    <RelativeLayout 
     android:id="@+id/topContainer"   
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:orientation="horizontal" 
     android:layout_alignParentTop="true"> 

     ... 

    </RelativeLayout> 

    <!-- set it to wrap_content --> 
    <!-- set align below to first element --> 
    <TabHost 
     android:id="@android:id/tabhost" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"  
     android:layout_below="@id/topContainer"> 

     ... 

    </TabHost> 

    <!-- set it to center horizontal --> 
    <!-- set align below to tabhost --> 
    <!-- set it to the bottom of your layout --> 
    <TableLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:stretchColumns="*" 
     android:layout_centerHorizontal="true" 
     android:layout_below="@id/tabhost"  
     android:layout_alignParentBottom="true"> 

     ... 

    </TableLayout> 

</RelativeLayout> 

希望這會有所幫助。