3

我需要显示TextView中的所有数据,它必须水平占用所有可用空间并垂直包含所有数据(这对于不同的屏幕大小或设备方向是必需的)。Android ConstraintLayout wrap_content不显示所有内容

但它并不采取必要的垂直区域:

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 позволяет портировать библиотеки и компоненты приложений, написанные на Си и других языках.123456789123456789-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> 
+0

如果我得到了您的问题,文本显示在左侧,您需要显示在中心。如果是的话,你可以删除'android:layout_marginStart =“132dp”' –

+0

@DevendraSingh谢谢你的回复,但这个余地是必要的,例如。我可以删除marginStart和marginLeft,但是如果有很多文本,它无论如何都不适合TextView,尽管垂直空间仍然存在。问题是 - 为什么不纵向拉伸领域? –

回答

0

修正了9版本。现在它按我的需要工作。

0

请参考以下链接,我希望它会为你工作。

https://github.com/grantland/android-autofittextview

+0

谢谢,但我需要相同的文字大小。在我的应用程序中有很多TextViews,他们必须具有相同大小的文本。 –

+0

@VladimirEtc。然后你必须设置高度和宽度wrap_content。并且您已删除所有边距。如果你能给我一个XML文件比我会改变它,并回馈给你解决方案,如果我可以。 –

+0

如果我设置高度和宽度wrap_content,那么宽度将被关闭。但在LinearLayout中是有效的。上面显示的所有代码,只需将其放入ConstraintLayout即可。 –