ListView的layout_weight属性无效,高度设置为0dp。

4

我正在尝试使用layout_weight属性进行测试。它可以很好地工作,但是对于ListView而言却不起作用。我已将高度设置为0dp并设置了weightsum。我尝试将ListView放入RelativeLayout中,但结果相同。

以下是我的代码:

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

<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.25"
    android:text="TextView" />

<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.25" >
</ListView>

<TextView
    android:id="@+id/textView2"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.25"
    android:text="TextView" />

<Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.25"
    android:text="Button" />

</LinearLayout>

这是它的外观: 图片 它似乎与我正在使用的主题相关。我正在使用Theme.Black.NoTitleBar主题。奇怪的是,我可以在模拟器中正常看到它,但在IDE中却不能,但我需要在IDE中看到事物,因为我经常使用GUI,很少编写XML。有没有解决方法?这是已知的错误吗?

尝试将您的ListView放置在另一个LinearLayout中。 - Gokhan Arik
1
你是从可视化编辑器、真实设备还是模拟器中获取这张图片的?我已经在空项目中检查了你的布局,在模拟器上按预期工作。 - Dimmerg
尝试在设备上运行它,可能在集成开发环境中看起来不如预期。但对我来说,它运行良好。 - Gokhan Arik
这张图片来自布局编辑器,它可能永远不会向您展示列表实际上会是什么样子。您需要在设备或模拟器上运行应用程序才能看到它实际上的外观。 - dm78
好的,稍等一下。 - user3146659
@user3146659 如果你在真实设备或模拟器上运行这段代码,我认为你会得到你期望的结果,因为代码看起来很好。 - Kunu
1个回答

0

您可以在IDE的右上边框中更改主题。当前选择的主题可能缺少某些属性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接