0

我正在尝试在这种方式的 Android 中创建一个 UI

Labels: tab1 | tab2 | tab3
==========v===============
Customized        ListView
      ...

但我得到了以下有礼貌的用户界面

Labels: tab1 | tab2 | tab3
==========v===============
       Customized ListView
              ...

即我无法利用屏幕的完整宽度,标签下方的区域保持空白。

我想显示覆盖整个屏幕宽度的 ListView 我该如何实现这一点。请帮忙

这是我正在使用的示例代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/passesBar" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:paddingLeft="10dip"
android:paddingTop="10dip" android:paddingRight="10dip"
android:paddingBottom="5dip">

<TextView android:id="@+id/passesText" android:text="@string/passes_text"
 android:layout_width="wrap_content" android:layout_height="wrap_content"
 android:textSize = "12dip">
</TextView>


<TabHost android:id="@+id/passesTabHost"
android:layout_toRightOf="@id/passesText"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content">

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

<TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent" android:layout_height="wrap_content">
    </TabWidget>
<FrameLayout android:layout_width="match_parent"
android:layout_height="wrap_content" android:id="@android:id/tabcontent">
    <ListView android:id="@+id/passesList" android:layout_below="@+id/passesBar"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:footerDividersEnabled="true"
    android:listSelector="@drawable/passes_list_item_custom_selector">
    </ListView>         

</FrameLayout>
</LinearLayout>
</TabHost>

谢谢尼基尔

4

1 回答 1

0

在你的布局 xml 中试试这个:

  1. 如果还不是 LinearLayout 本身,则将您的自定义标签包装在 LinearLayout 中。为 LinearLayout 标签设置android:layout_width=0android:layout_height=wrap_content、 和android:weight=1android:gravity=left
  2. 对于您的 ListView 标记,如果还没有将其包装在 LinearLayout 中,并将 、 和 设置android:layout_width=0android:layout_height=wrap_contentLinearLayoutandroid:weight=3标记。

这实际上将使 ListView 的宽度成比例地成为 Customized 宽度的 3 倍。此外,设置重力将使您的自定义视图紧贴屏幕左侧。

这是 android 文档中的一个小宝石,它告诉你这个:

提示:要在屏幕上创建比例大小的布局,请创建一个容器视图组对象,并将 layout_width 和 layout_height 属性设置为 fill_parent;将孩子的高度或宽度分配为 0(零);然后为每个孩子分配相对权重值,具体取决于每个孩子应该拥有的屏幕比例。

我是从这里来的。

于 2011-10-26T00:54:31.420 回答