gpt4 book ai didi

android - 如何阻止 LinearLayout 宽度?

转载 作者:行者123 更新时间:2023-11-29 14:49:24 25 4
gpt4 key购买 nike

我正在尝试获得具有下一个外观的自定义 ListView: enter image description here

XML 文件是下一个:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:paddingRight="15dp"
android:paddingLeft="15dp"
android:orientation="horizontal" >

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="4">
<TextView
android:id="@+id/tveva"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="Nombre"
/>
</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_weight="2">
<TextView
android:id="@+id/tvpor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="Porcentaje"
/>
</LinearLayout>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_weight="2">
<TextView
android:id="@+id/tvnot"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="Nota"
/>
</LinearLayout>

</LinearLayout>

当我运行应用程序并且 tvnot(您可以看到“Nota”的 TextView)是 4.5 或 6.7(它们是带小数点的标记)ListView 完全对齐时,我的问题就来了外观漂亮,但如果标记像 5.75(小数点后两位),左侧的 LinearLayout(包括带有“Porcentaje”的 TextView)向左移动一点,ListView 失去线性:

enter image description here

我为三个 TextView 的每个 LinearLayout 设置了 layout_weight 属性。我不是 Android 专家,我认为只要设置这个属性就可以解决问题,但显然我错了。

希望你能帮助我!

最佳答案

您不需要将所有元素包装在另一个 LinearLayout 中。在 Android 中,这实际上是一件很糟糕的事情。我建议您改为这样做:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="5dp"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="5dp">


<TextView
android:id="@+id/tveva"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="left"
android:text="Nombre"
android:textSize="20sp"
android:layout_weight=".4"/>


<TextView
android:id="@+id/tvpor"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="left"
android:text="Porcentaje"
android:textSize="20sp"
android:layout_weight=".3"/>


<TextView
android:id="@+id/tvnot"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="left"
android:text="Nota"
android:textSize="20sp"
android:layout_weight=".3"/>
</LinearLayout>

问候!

关于android - 如何阻止 LinearLayout 宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23639109/

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