Android 为什么';这不是布局工作吗?安卓

Android 为什么';这不是布局工作吗?安卓,android,listview,Android,Listview,我将此布局文件作为主要活动的布局。当我没有中间的线性布局和两个文本视图时,列表视图工作了。但是,当文件中有它们时,视图不会显示listview内容。谁能告诉我是什么问题吗 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"

我将此布局文件作为主要活动的布局。当我没有中间的线性布局和两个文本视图时,列表视图工作了。但是,当文件中有它们时,视图不会显示listview内容。谁能告诉我是什么问题吗

<?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>

这是因为LinearLayout设置为
android:layout\u height=“fill\u parent”
文本视图占据了整个屏幕,因为你给它们设置了权重,所以文本视图的实际高度不会被应用

将其更改为:

<?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/3。使用Layout\u weight的值来更改每个元素占据的屏幕高度

<?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>


请记住,listview“can”的布局高度设置为wrap_内容,因为它还没有任何子视图(Android将在可以确定大小时测量前3个视图)。相反,将其设置为0dip这样的值,Android将负责调整大小。谢谢提示!我对android编程很陌生:Pthanks!我将第二个线性布局设置为水平,我不认为两个文本视图将填充高度。嗯。。我再试了一次,关于文本视图,你是对的。但是如果我不设置布局权重,第二个文本视图将不会显示。保持布局不变,只需将子线性布局的高度更改为
android:layout\u height=“wrap\u content”
,我更新了答案