为什么这个布局不起作用?安卓

时间:2012-10-21 20:21:11

标签: android listview

我将此布局文件作为主要活动的布局。当我没有线性布局和中间的两个textview时,列表视图有效。但是,当我在文件中有它们时,视图将不会显示列表视图内容。有人能告诉我们这个问题吗?

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

      <LinearLayout    
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="horizontal">
        <TextView
            android:id="@+id/today_header"
            android:layout_width="fill_parent"
            android:layout_weight="2"
            android:layout_height="70dip"
            android:textColor="#dc6800"
            android:textSize = "20sp"
            android:paddingTop="12dip"
            android:paddingLeft="10dip"

           >
        </TextView>
        <TextView
            android:id="@+id/today_total"
            android:layout_width="fill_parent"
            android:layout_weight="3"
            android:layout_height="70dip"
            android:textSize = "6sp"
            android:textColor="#4A4A4A"
            android:paddingTop="20dip"
            android:paddingRight="25dip"
            android:textStyle="bold"
             />

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

</LinearLayout>

2 个答案:

答案 0 :(得分:1)

这是因为LinearLayout设置为android:layout_height="fill_parent"  和TextViews一样,它们占据整个屏幕,因为你为它们设置了权重,因此TextViews的实际高度不会被应用。

将其更改为:

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

      <LinearLayout    
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
        <TextView
            android:id="@+id/today_header"
            android:layout_width="fill_parent"
            android:layout_weight="2"
            android:layout_height="70dip"
            android:textColor="#dc6800"
            android:textSize = "20sp"
            android:paddingTop="12dip"
            android:paddingLeft="10dip"

           >
        </TextView>
        <TextView
            android:id="@+id/today_total"
            android:layout_width="fill_parent"
            android:layout_weight="3"
            android:layout_height="70dip"
            android:textSize = "6sp"
            android:textColor="#4A4A4A"
            android:paddingTop="20dip"
            android:paddingRight="25dip"
            android:textStyle="bold"
             />

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

</LinearLayout>

答案 1 :(得分:0)

这将为您的每个元素提供屏幕高度的1/3。使用Layout_weight的值来更改每个元素占用的screen_height的数量。

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


    <TextView
        android:id="@+id/today_header"
        android:layout_width="fill_parent"
        android:layout_weight="3"
        android:layout_height="0dip"
        android:textColor="#dc6800"
        android:textSize = "20sp"
        android:paddingTop="12dip"
        android:paddingLeft="10dip"

       >
    </TextView>
    <TextView
        android:id="@+id/today_total"
        android:layout_width="fill_parent"
        android:layout_weight="3"
        android:layout_height="0dip"
        android:textSize = "6sp"
        android:textColor="#4A4A4A"
        android:paddingTop="20dip"
        android:paddingRight="25dip"
        android:textStyle="bold"
         />


<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="3"/>

</LinearLayout>