【问题标题】:What to do to let TextView increase its height怎么做才能让TextView增加它的高度
【发布时间】:2018-03-08 14:09:04
【问题描述】:

我有以下布局,我的问题是 TextView 只显示 3 行,甚至更长的文本也没有。

请问我这里有什么错误?

<?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="wrap_content">

    <FrameLayout
        android:id="@+id/frameLayout"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/btStartItem"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <ProgressBar
            android:id="@+id/pbTestItem"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="0dp"
            android:paddingStart="?android:attr/expandableListPreferredItemPaddingLeft"
            android:progressBackgroundTint="@android:color/transparent"
            android:progressTint="@android:color/holo_orange_light"
            android:scaleY="5"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            tools:visibility="visible" />

        <TextView
            android:id="@+id/lblListItem"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:clickable="true"
            android:gravity="left"
            android:paddingStart="?android:attr/expandableListPreferredItemPaddingLeft"
            android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

    </FrameLayout>

    <Button
        android:id="@+id/btStartItem"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:text="@string/action_start"
        android:visibility="visible"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/ivStatusItem"
        app:layout_constraintStart_toEndOf="@+id/frameLayout"
        app:layout_constraintTop_toTopOf="parent" />

    <ImageView
        android:id="@+id/ivStatusItem"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:adjustViewBounds="true"
        android:contentDescription="@string/status_test"
        android:cropToPadding="false"
        android:maxHeight="40dp"
        android:maxWidth="40dp"
        android:src="@drawable/question"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/btStartItem"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

【问题讨论】:

  • 你试过“android:singleline=false”吗?

标签: android android-layout textview android-constraintlayout


【解决方案1】:

尝试以下方法:

<?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="wrap_content">

<FrameLayout
    android:id="@+id/frameLayout"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toStartOf="@+id/btStartItem"
    android:adjustViewBounds="true"
    app:layout_constraintHorizontal_weight="40"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <ProgressBar
        android:id="@+id/pbTestItem"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="0dp"
        android:paddingStart="?android:attr/expandableListPreferredItemPaddingLeft"
        android:progressBackgroundTint="@android:color/transparent"
        android:progressTint="@android:color/holo_orange_light"
        android:scaleY="5"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:visibility="visible" />

    <TextView
        android:id="@+id/lblListItem"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="fill"
        android:clickable="true"
        android:gravity="left"
        android:paddingStart="?android:attr/expandableListPreferredItemPaddingLeft"
        android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
        app:layout_constraintBottom_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</FrameLayout>

<Button
    android:id="@+id/btStartItem"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:text="@string/action_start"
    android:visibility="visible"
    android:adjustViewBounds="true"
    app:layout_constraintHorizontal_weight="30"
    app:layout_constraintEnd_toStartOf="@+id/ivStatusItem"
    app:layout_constraintStart_toEndOf="@+id/frameLayout"
    app:layout_constraintTop_toTopOf="parent" />

<ImageView
    android:id="@+id/ivStatusItem"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:adjustViewBounds="true"
    app:layout_constraintHorizontal_weight="30"
    android:cropToPadding="false"
    android:maxHeight="40dp"
    android:maxWidth="40dp"
    android:src="@drawable/question"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toEndOf="@+id/btStartItem"
    app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

输出:

【讨论】:

    【解决方案2】:

    为了让 TextView 显示它所拥有的一切,只需将 FrameLayout 的 android:layout_width 从 0dp 更改为 wrap_content:

    (...)
        <FrameLayout
        android:id="@+id/frameLayout"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
    (...)
    

    【讨论】:

      【解决方案3】:

      尝试将maxlines Attribute 设置为TextView

      喜欢:

      android:maxLines="10"
      

      【讨论】:

      • 这不起作用,因为 TextView 的高度是从父维度设置的。
      【解决方案4】:

      将 FrameLayout 高度从 0dp 更改为 wrap_content

      <FrameLayout
              android:id="@+id/frameLayout"
              android:layout_width="0dp"
              android:layout_height="0dp"
              app:layout_constraintBottom_toBottomOf="parent"
              app:layout_constraintEnd_toStartOf="@+id/btStartItem"
              app:layout_constraintStart_toStartOf="parent"
              app:layout_constraintTop_toTopOf="parent">
      

      <FrameLayout
              android:id="@+id/frameLayout"
              android:layout_width="0dp"
              android:layout_height="wrap_content"
              app:layout_constraintBottom_toBottomOf="parent"
              app:layout_constraintEnd_toStartOf="@+id/btStartItem"
              app:layout_constraintStart_toStartOf="parent"
              app:layout_constraintTop_toTopOf="parent">
      

      【讨论】:

        猜你喜欢
        • 2017-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-20
        • 1970-01-01
        相关资源
        最近更新 更多