【问题标题】:Android ConstraintLayout wrap_content does not show all the contentsAndroid ConstraintLayout wrap_content 不显示所有内容
【发布时间】:2016-09-28 11:35:55
【问题描述】:

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

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

这是一个错误还是有办法解决我的问题?虽然我只是使用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"
  • @DevendraSingh 感谢您的回复,但这个边距是必要的,例如。我可以删除marginStart 和marginLeft,但是如果有很多文本,它无论如何都不适合TextView,尽管垂直空间仍然存在。问题是 - 为什么不垂直拉伸字段?

标签: android android-constraintlayout android-wrap-content


【解决方案1】:

请参考下面的链接,我希望它对你有用。

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

【讨论】:

  • 谢谢,但我需要相同的文字大小。在我的应用中有很多 TextView,它们必须具有相同大小的文本。
  • @VladimirEtc。然后你必须设置高度和宽度wrap_content。并且您已删除所有边距。如果你能给我一个xml文件,我会改变它,如果可以的话,给你解决方案。
  • 如果我设置高度和宽度wrap_content,那么宽度将在屏幕外。但在 LinearLayout 中它是有效的。上面显示的所有代码,放入ConstraintLayout即可。
【解决方案2】:

在 9 版本中已修复。现在它可以按我的需要工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多