2011-08-22 102 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>