0

我正在尝试创建一个 ListView,其下方有一个 TextView。为此,我在 ListView 中添加了一个页脚。我想要 ListView 和 TextView 之间的一条线,但我希望它有特定的边距。我创建了一个样式,然后将其添加到页脚。当我添加带有样式的视图时,它会将我的文本完全推离屏幕。这是列表视图:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/list_view_order_filter"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="15dp"
        android:layout_weight="1" >
    </ListView>

  <LinearLayout
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_gravity="bottom"
      android:orientation="horizontal" >

      <Button
          android:id="@+id/orderFilters"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:text="@string/order_filter" >
      </Button>

      <Button
          android:id="@+id/orderFiltersCancel"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:text="@string/cancel" >
      </Button>
  </LinearLayout>

</LinearyLayout>

这是我的风格:

<style name="divider">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">1dp</item>
    <item name="android:layout_marginRight">15dp</item>
    <item name="android:layout_marginLeft">15dp</item>
    <item name="android:layout_marginTop">10dp</item>
    <item name="android:background">?android:attr/listDivider</item>
</style>

这是我的页脚:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <View style="@style/divider" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" 
        android:layout_weight="1">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:gravity="left"
            android:text="@string/total"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/orderTotal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="15dp"
            android:gravity="right"
            android:textIsSelectable="true" />
    </LinearLayout>

</LinearLayout>

这是我的视图的截图。
在此处输入图像描述

4

3 回答 3

1

页脚中的 LinearLayout 是水平的,但带有 style="@style/divider" 的视图具有 layout_width:match_parent。它将随后出现的所有内容推离屏幕。

于 2013-05-11T13:12:51.793 回答
0

这是@style/divider 中“match_parent”的问题

{

<item name="android:layout_width">20dp</item>

<item name="android:layout_height">1dp</item>

<item name="android:layout_marginRight">15dp</item>

<item name="android:layout_marginLeft">15dp</item>

<item name="android:layout_marginTop">10dp</item>

<item name="android:background">?android:attr/listDivider</item>

}

试试这个,你将能够看到你的视图,之后根据你的需要调整宽度

所有你可以让你的线性布局垂直

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="40dp" >

<View style="@style/divider" />

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:gravity="left"
        android:text="12000000"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/orderTotal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="15dp"
        android:gravity="right"
        android:textIsSelectable="true" />
</LinearLayout>

于 2013-05-11T13:29:42.710 回答
0

试试这个代码。在这里,我将您的主要 xml 和页脚合并到一个文件中。根据你的编辑

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<ListView
    android:id="@+id/list_view_order_filter"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_marginTop="15dp"
    android:layout_weight="1" >
</ListView>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/orderFilters"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="order_filter" >
    </Button>

    <Button
        android:id="@+id/orderFiltersCancel"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="cancel" >
    </Button>
</LinearLayout>



    <View
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:background="@drawable/icon" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:gravity="left"
            android:text="total"
            android:textColor="#3a6e9a"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/orderTotal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="15dp"
            android:gravity="right"
            android:text="left"
            android:textColor="#3a6e9a" />
    </LinearLayout>

    </LinearLayout>
于 2013-05-11T13:48:30.943 回答