gpt4 book ai didi

android - 为什么我的水平 LinearLayout 没有为其内容保留足够的高度?

转载 作者:行者123 更新时间:2023-11-30 04:48:38 26 4
gpt4 key购买 nike

我正在开发一个显示世界各国信息的应用程序(我正在学习一些真实的东西并且我已经有了这些数据)。我的布局的一部分是一个 LinearLayout,它包含国家的国旗和一些基本信息。旗帜右侧的表格中有五行信息。问题是 LinearLayout 仅使用标志的高度作为总高度。大多数旗帜有 2.5 行高,所以我的一些信息被切断了。为什么 LiniearLayout 的高度不是其两个元素中最大的?对我可以做些什么来完成这项工作有什么建议吗?

这里是有问题的 LinearLayout 的定义:

        <LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/flag"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/noflag" />
<TableLayout
android:id="@+id/info1"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="10dip">
<TableRow>
<TextView
android:id="@+id/capitallabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/capital_label"
style="?infoLabel"/>
<TextView
android:id="@+id/capitalvalue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="4dip"
style="?infoValue"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/capitaltimelabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/capital_time_label"
style="?infoLabel"/>
<TextView
android:id="@+id/capitaltimevalue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="4dip"
style="?infoValue"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/landarealabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/land_area_label"
style="?infoLabel"/>
<TextView
android:id="@+id/landareavalue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="4dip"
style="?infoValue"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/waterarealabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/water_area_label"
style="?infoLabel"/>
<TextView
android:id="@+id/waterareavalue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="4dip"
style="?infoValue"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/coastlinelabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/coast_line_label"
style="?infoLabel"/>
<TextView
android:id="@+id/coastlinevalue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="4dip"
style="?infoValue"/>
</TableRow>
</TableLayout>
</LinearLayout>

我尝试颠倒表格和 ImageView ,使旗帜在右侧,信息在左侧。我希望 LiniearLayout 的高度现在是信息表的高度。不幸的是,它仍然是旗帜的高度。

如有任何帮助,我们将不胜感激。

谢谢,

伊恩

最佳答案

为您的 TableLayout 尝试 android:layout_height="wrap_content"

关于android - 为什么我的水平 LinearLayout 没有为其内容保留足够的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4177998/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com