2012-03-21 135 views
0

我想咨询一个xml布局问题。我有一个主要活动,这是一个TabActivity,它被填充(标签)由另一个活动,这是一个ListActivity。在scrren和主TabActivity中,我想在页面底部显示带有按钮的灰色条。问题是该列表视图的最后一项被该条隐藏。所以我需要的是,该列表视图应该在按钮条边框开始的同一点处具有边框。它是由图片浏览证实:Android XML布局覆盖

http://postimage.org/image/h8yx7jxlj/

我已经试图改变一些布局,以WRAP_CONTENT的layout_height参数,但它hasn't帮助...

PS有没有办法如何更改标签标题的字体大小IN XML LAYOUT FILE?

这是主要的活动的我的XML布局:

<?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"> 
<LinearLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:padding="5dp"> 

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


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


</LinearLayout> 

<LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:gravity="center" 
     android:background="#666666"> 

    <Button android:id="@+id/settins_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="1sp" 
      android:text="volba zdrojů" 
      android:enabled="false" /> 

</LinearLayout> 

这是被插入的tabcontrol作为选项卡的内容的活动的XML布局代码。 (然后插入的FrameLayout中的tabcontrol的):

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

<ListView 
     android:id="@+id/android:list" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"/> 


<TextView 
     android:id="@+id/android:empty" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:gravity="center_vertical|center_horizontal" 
     android:text="@string/main_no_items"/> 

</LinearLayout> 

非常感谢您!

+0

我认为这个问题是由于有其高度设置为FILL_PARENT顶部的LinearLayout,而底部的LinearLayout上有重力,使其不占用房间相比TabHost。尝试将顶部LinearLayout更改为wrap_content以获得高度。 – 2012-03-21 20:55:17

回答

1

请使用RelativeLayout而不是LinearLayout。请参阅附件中的代码,它完全符合您的要求。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#FFFFFF" > 

    <TextView 
     android:id="@+id/text" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_above="@+id/button" 
     android:layout_alignParentTop="true" 
     android:gravity="center_horizontal" 
     android:text="some text goes here" 
     android:textColor="#1E1E1E" 
     android:textSize="25sp" /> 

    <LinearLayout 
     android:id="@+id/button" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:orientation="horizontal" > 

     <Button 
      android:id="@+id/btn_send" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_weight="50" 
      android:onClick="handleSendReport" 
      android:text="@string/button_send" /> 
    </LinearLayout> 

</RelativeLayout>