gpt4 book ai didi

Android Layout——layoutweight和weightsum

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:00:29 24 4
gpt4 key购买 nike

我需要使用一组线性布局构建一个布局。布局必须占据屏幕的定义百分比。我需要这样做才能在所有设备中获得相似的外观。

问题:

我在右上角布局中有一个 TextView (绿色框)。每当我在 TextView 中添加一些数据时,它都会扰乱整个布局,如下图 2 所示。但是我需要让数据在到达屏幕/布局的右端时自动换行。

请帮我解决这个问题。提前致谢

Image1 - 根据下面显示的 XML 的图形 View

enter image description here

Image2 - 显示当我在 textView 中添加一些数据时布局如何自动更改

enter image description here

xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
android:orientation="vertical"
android:weightSum="100">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="91"
android:weightSum="100">

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="40"
android:weightSum="235">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:background="#ff0000"
android:layout_weight="100">

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000" />

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffff00"
android:layout_weight="45">



<ViewFlipper
android:id="@+id/view_flipper"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/tvItemName" >


<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
</LinearLayout>
</ViewFlipper>



</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffffff"
android:layout_weight="90">


</LinearLayout>

</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="60"
android:weightSum="100">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="30"
android:background="#00ab00"
android:weightSum="100">

<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:textColor="#000000"
android:text="Test data" />

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#cd00ab"
android:layout_weight="70">

</LinearLayout>

</LinearLayout>

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ab0000"
android:layout_weight="9">

</LinearLayout>

</LinearLayout>

最佳答案

开始你的layout_widthlayout_height作为 0dp 而不是 wrap_content . (如果是竖排,layout_height应该是0dp;如果是横排,layout_width应该是0dp)

layout_weight描述了如何划分 layout_width 之后的剩余 空间 s/layout_height已分配。

请注意 wrap_content并不意味着“让文字换行”;这意味着将该维度设置为 View 的“首选”维度。

关于Android Layout——layoutweight和weightsum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15696920/

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