Android的ConstraintLayout中,wrap_content不能展示所有内容

3

我需要在TextView中显示所有数据,它必须水平占用全部可用空间并垂直包含所有数据(这对于不同的屏幕尺寸或设备方向是必要的)。

但它并没有占用必要的垂直区域:

screen here

这是一个bug还是有解决问题的方法?当我使用LinearLayout时,就没有这样的问题。

我的XML代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.u_m0uk4.fortest.MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="16dp"
        android:layout_marginLeft="132dp"
        android:layout_marginRight="16dp"
        android:layout_marginStart="132dp"
        android:layout_marginTop="16dp"
        android:text="Android («Андро́ид»[ком. 1]) — операционная система для смартфонов, интернет-планшетов, электронных книг, цифровых проигрывателей, наручных часов, игровых приставок, нетбуков, смартбуков, очков Google[2], телевизоров[3] и других устройств. В будущем планируется поддержка автомобилей[4] и бытовых роботов. оследствии Google инициировала создание альянса Open Handset Alliance (OHA), который сейчас занимается поддержкой и дальнейшим развитием платформы. Android позволяет создавать Java-приложения, управляющие устройством через разработанные Google библиотеки. Android Native Development Kit позволяет портировать библиотеки и компоненты приложений, написанные на Си и других языках.12345678912345678901234567890-1234567890"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginBottom="16dp" />

</android.support.constraint.ConstraintLayout>

如果我理解您的问题正确,那么文本是显示在左侧,您需要将其居中显示。如果是这样,您可以删除android:layout_marginStart="132dp" - Devendra Singh
@DevendraSingh 感谢您的回复,但这些边距只是为了举例。我可以删除 marginStart 和 marginLeft,但如果有很多文本,它仍然无法适应 TextView,尽管垂直空间仍然存在。问题是 - 为什么不在垂直方向上拉伸字段? - Vladimir Etc
2个回答

0

已在9版本中修复。现在它按照我的需求工作。


0

谢谢,但我需要相同的文本大小。在我的应用程序中有很多TextViews,它们必须具有相同大小的文本。 - Vladimir Etc
@VladimirEtc。然后您需要设置高度和宽度为wrap_content。并且您需要删除所有边距。如果您能够给我一个XML文件,那么我会更改它并在可能的情况下将解决方案交还给您。 - Krunal Pujara
如果我将高度和宽度设置为wrap_content,则宽度将超出屏幕。但在LinearLayout中,它可以正常工作。将上面的所有代码放入ConstraintLayout中即可。 - Vladimir Etc

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