2013-05-11 153 views
0

我想创建一个ListView立即在它下面的TextView。为了做到这一点,我添加了一个页脚到ListView。我想要一个ListView和TextView之间的一条线,但我希望它具有特定的边距。我创建了一个样式,然后将其添加到页脚。当我用样式添加视图时,它会将我的文本完全从屏幕中移出。这里是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> 

以下是对我的看法是看起来像一个屏幕截图。
enter image description here

回答

1

页脚中的LinearLayout是水平的,但style =“@ style/divider”的View有layout_width:match_parent。它推动了随后离开屏幕的所有内容。

0

这与@风格的 “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> 

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>