2011-08-22 167 views
4

我必须设计screen.I想要将页脚栏放在列表下面。 在这里看到:Android布局设计 - 如何在xml中获取屏幕高度(布局)

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

<!-- Header --> 
<LinearLayout android:id="@+id/header" 
    android:background="#0099CC" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent"> 

    <TextView android:id="@+id/routeCode" 
     android:layout_height="fill_parent" 
     android:layout_width="wrap_content" 
     android:text="Code" 
     android:width="100dip" 
     android:height="30dip" 
     android:textColor="@color/black" 
     android:gravity="center_horizontal" 
    /> 
    <TextView android:id="@+id/routeName" 
     android:layout_height="fill_parent" 
     android:layout_width="wrap_content" 
     android:text="Name" 
     android:width="150dip" 
     android:height="30dip" 
     android:textColor="@color/black" 
     android:gravity="center_horizontal" 
    /> 
    <TextView android:id="@+id/outlets" 
     android:layout_height="fill_parent" 
     android:layout_width="wrap_content" 
     android:text="Outlets" 
     android:width="60dip" 
     android:height="30dip" 
     android:textColor="@color/black" 
     android:gravity="center_horizontal" 
    /> 
</LinearLayout> 

<!-- List Divider --> 
<View android:layout_width="fill_parent" 
    android:layout_height="1dip" 
    android:background="?android:attr/listDivider" /> 

    <!-- ListView (grid_items) --> 
    <LinearLayout android:id="@+id/layout" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
             android:layout_weight="1" > 

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

     <TextView android:id="@id/android:empty" 
        android:layout_width="fill_parent" 
        android:gravity="center_vertical" 
        android:layout_height="fill_parent" 
        android:layout_marginTop="25dp" 
        android:text="No Sales Routes Define By Admin" /> 
    </LinearLayout> 

    <!-- Footer --> 
    <RelativeLayout android:id="@+id/header" 
     android:background="#000000" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent"> 

     <Button android:text="Exit" 
       android:id="@+id/button1" 
       android:background="#0099FF" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="8dp" 
       android:onClick="onExitAction"> 
     </Button> 

     <Button android:layout_width="wrap_content" 
       android:text="Next" 
       android:background="#0099FF" 
       android:layout_height="wrap_content" 
       android:layout_marginRight="8dp" 
       android:id="@+id/button2" 
       android:layout_alignParentTop="true" 
       android:layout_alignParentRight="true" 
       android:onClick="onNextAction"> 
     </Button> 
    </RelativeLayout> 
</LinearLayout> 

问题是,如果有对列表或几行没有数据即时拍摄,然后footerbar会up.How以修复的事儿。要固定在下面part.I不会来拿出....

当我添加此代码android:layout_weight="1"它的到来是这样的: enter image description here

这是我的标签XML部分;

 <?xml version="1.0" encoding="utf-8"?> 

    <TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:id="@android:id/tabhost" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:fadingEdge="horizontal"> 

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

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

     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="fill_parent" 
      android:layout_height="56dp" 
      android:gravity="bottom" 
      android:tabStripEnabled="true" 
      android:layout_alignParentBottom="true"/> 

    </RelativeLayout> 
    </TabHost> 

我想要的标签上面吧..

请帮助我..

在此先感谢

回答

3

试试这个代码,

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout android:id="@+id/main" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
android:background="@drawable/icon"> 

<!-- Header --> 
<LinearLayout android:id="@+id/header" 
    android:background="#0099CC" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent"> 

    <TextView android:id="@+id/routeCode" 
     android:layout_height="fill_parent" 
     android:layout_width="wrap_content" 
     android:text="Code" 
     android:width="100dip" 
     android:height="30dip" 
     android:gravity="center_horizontal" 
    /> 
    <TextView android:id="@+id/routeName" 
     android:layout_height="fill_parent" 
     android:layout_width="wrap_content" 
     android:text="Name" 
     android:width="150dip" 
     android:height="30dip" 
     android:gravity="center_horizontal" 
    /> 
    <TextView android:id="@+id/outlets" 
     android:layout_height="fill_parent" 
     android:layout_width="wrap_content" 
     android:text="Outlets" 
     android:width="60dip" 
     android:height="30dip" 
     android:gravity="center_horizontal" 
    /> 
</LinearLayout> 

<!-- List Divider --> 
<View 
    android:id="@+id/myView" 
    android:layout_width="fill_parent" 
    android:layout_height="1dip" 
    android:background="?android:attr/listDivider" 
    android:layout_below="@+id/header" /> 

    <!-- ListView (grid_items) --> 
    <LinearLayout android:id="@+id/layout" 
        android:layout_below="@+id/myView"  
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" > 

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

     <TextView android:id="@id/android:empty" 
        android:layout_width="fill_parent" 
        android:gravity="center_vertical" 
        android:layout_height="fill_parent" 
        android:layout_marginTop="25dp" 
        android:text="No Sales Routes Define By Admin" /> 
    </LinearLayout> 

    <!-- Footer --> 
    <RelativeLayout 
     android:layout_alignParentBottom="true" 
     android:id="@+id/MyRelative" 
     android:background="#000000" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:layout_gravity="bottom"> 

     <Button android:text="Exit" 
       android:id="@+id/button1" 
       android:background="#0099FF" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="8dp" 
       android:onClick="onExitAction"> 
     </Button> 

     <Button android:layout_width="wrap_content" 
       android:text="Next" 
       android:background="#0099FF" 
       android:layout_height="wrap_content" 
       android:layout_marginRight="8dp" 
       android:id="@+id/button2" 
       android:layout_alignParentTop="true" 
       android:layout_alignParentRight="true" 
       android:onClick="onNextAction"> 
     </Button> 
    </RelativeLayout> 
</RelativeLayout> 
+0

根据你的代码 – Piraba

+0

,我改变了好吧,没问题。 :) –

3

你应该使用权的LinearLayoutListView内:

<LinearLayout android:id="@+id/layout" 
       android:layout_width="wrap_content" 
       android:layout_height="0dip" 
       android:layout_weight="1" > 

编辑: 使用下列布局“标签”:

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

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" 
      android:layout_height="0dip" 
      android:layout_weight="1" 
      android:textColor="#ffffff"/> 

     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="fill_parent" 
      android:layout_height="56dp" 
      android:gravity="bottom" 
      android:tabStripEnabled="true"/> 
    </LinearLayout> 
</TabHost> 
+0

谢谢。我的工作......但我有问题..我有选项卡在底部。选项卡上我想设置页脚栏....目前它的背后的标签和屏幕底部.. – Piraba

+0

你如何添加此选项卡?如果它在xml中,可否请将此代码添加到问题中。不幸的是,我不明白这个问题使用这个描述。 – Michael

+0

我已更新代码和image.Pls帮助我 – Piraba

0

我会忍不住让你的主容器的RelativeLayout,然后设置android:layout_alignParentBottom="true"您的页脚容器上

1

这应该工作

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

<!-- Header --> 
<LinearLayout android:id="@+id/header" 
    android:background="#0099CC" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent"> 

    <TextView android:id="@+id/routeCode" 
     android:layout_height="fill_parent" 
     android:layout_width="wrap_content" 
     android:text="Code" 
     android:width="100dip" 
     android:height="30dip" 
     android:textColor="#000000" 
     android:gravity="center_horizontal" 
    /> 
    <TextView android:id="@+id/routeName" 
     android:layout_height="fill_parent" 
     android:layout_width="wrap_content" 
     android:text="Name" 
     android:width="150dip" 
     android:height="30dip" 
     android:textColor="#000000" 
     android:gravity="center_horizontal" 
    /> 
    <TextView android:id="@+id/outlets" 
     android:layout_height="fill_parent" 
     android:layout_width="wrap_content" 
     android:text="Outlets" 
     android:width="60dip" 
     android:height="30dip" 
     android:textColor="#000000" 
     android:gravity="center_horizontal" 
    /> 
</LinearLayout> 

<!-- List Divider --> 
<View android:layout_width="fill_parent" 
    android:layout_height="1dip" 
    android:background="?android:attr/listDivider" /> 

    <!-- ListView (grid_items) --> 
    <LinearLayout android:id="@+id/layout" 
        android:layout_width="wrap_content" 
        android:layout_height="0dip" 
        android:layout_weight="1.0" > 

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

     <TextView android:id="@id/android:empty" 
        android:layout_width="fill_parent" 
        android:gravity="center_vertical" 
        android:layout_height="fill_parent" 
        android:layout_marginTop="25dp" 
        android:text="No Sales Routes Define By Admin" /> 
    </LinearLayout> 

    <!-- Footer --> 
    <RelativeLayout android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:orientation="horizontal"> 
     <Button android:text="Exit" 
       android:id="@+id/button1" 
       android:background="#0099FF" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="8dp" 
       android:onClick="onExitAction"/> 

     <Button android:layout_width="wrap_content" 
       android:text="Next" 
       android:background="#0099FF" 
       android:layout_height="wrap_content" 
       android:layout_marginRight="8dp" 
       android:id="@+id/button2" 
       android:layout_alignParentRight="true" 
       android:onClick="onNextAction"/> 
    </RelativeLayout> 
</LinearLayout>