gpt4 book ai didi

android - Long TextViews 在 LinearLayout 中将元素推离屏幕

转载 作者:行者123 更新时间:2023-12-05 00:06:50 27 4
gpt4 key购买 nike

我在 LinearLayout 中有三个 TextView,一个并排排列。但是,如果中间 TextView 中的文本变得太长,则左侧 TextView 会被推离屏幕。

不想使用 android:weight,因为我不想为三个 TextView 之间的比率预定义一个固定值。

如何解决?

activity_main.xml:

<?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="wrap_content"
android:orientation="horizontal" >

<TextView
android:id="@+id/item_left"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="LEFT"
android:gravity="center"
android:layout_gravity="left|center_vertical" />

<TextView
android:id="@+id/item_middle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#aaaaaa"
android:text="This is a very very long text which is so long that it wraps but unfortunatelly also pushes the TextView with ID item_right off the screen."
android:layout_gravity="left|center_vertical" />

<TextView
android:id="@+id/item_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RIGHT"
android:gravity="center"
android:layout_gravity="right|center_vertical" />

</LinearLayout>

最佳答案

尝试为每个 TextView 设置 weights 这样每个 TextView 都会在 LinearLayout 中有自己的空间并且而不是向右推 TextView 屏幕文本将换行,例如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<TextView
android:id="@+id/item_left"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
android:text="LEFT"
android:gravity="center"
android:layout_gravity="left|center_vertical" />

<TextView
android:id="@+id/item_middle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#aaaaaa"
android:text="This is a very very long text which is so long that it wraps but unfortunatelly also pushes the TextView with ID item_right off the screen."
android:layout_gravity="left|center_vertical" />

<TextView
android:id="@+id/item_right"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="RIGHT"
android:gravity="center"
android:layout_gravity="right|center_vertical" />

</LinearLayout>

你不需要给每个 TextView 相等的空间你可以给中间的 TextView 更多的空间来操作 weights 例如:android:layout_weight="2" 并且将所有包装在 ScrollView 中,如果文本长度大于屏幕尺寸,您将防止出现不可见文本的问题。

关于android - Long TextViews 在 LinearLayout 中将元素推离屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50455980/

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