【问题标题】:text out of screen android constraint layout屏幕外的文本android约束布局
【发布时间】:2017-08-01 15:03:24
【问题描述】:

我有一个 listView ,该项目包含两个组件 imageView 和 textView ,我正在尝试在 textView 中设置文本背景。

所以我认为如果我能够将 Textview 宽度设置为 wrap_content 那么使用 android:background 标签就可以了。

我所做的是将 textview 的宽度和高度设置为 wrap_content,它仅在我有一个短文本时才有效,但如果我有一个长文本,则某些文本将超出屏幕

<?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"
app:layout_constraintWidth_default="wrap"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout_editor_absoluteY="25dp"
tools:layout_editor_absoluteX="0dp">

<ImageView
    android:id="@+id/imageViewChat"
    android:layout_width="50dp"
    android:layout_height="50dp"
    app:srcCompat="@drawable/googleg_standard_color_18"
    android:layout_marginStart="16dp"
    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginTop="26dp"
    android:layout_marginLeft="16dp"
    app:layout_constraintLeft_toLeftOf="parent" />

<TextView
    android:id="@+id/textViewChat"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="8dp"
    android:layout_marginLeft="8dp"

    android:layout_marginRight="16dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="26dp"
    android:background="@drawable/rounded_corner"

    android:fontFamily="serif"
    android:text="ssssss ssssss ssssss ssssss ssssss ssssss  ssssss 
    ssssss  ssssss ssssss "
    android:textAlignment="textStart"
    android:textColor="@color/bb_darkBackgroundColor"
    android:textSize="15sp"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintLeft_toRightOf="@+id/imageViewChat"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />



</android.support.constraint.ConstraintLayout>

【问题讨论】:

标签: android android-constraintlayout


【解决方案1】:

您必须将宽度设置为 0dp,并将默认宽度行为设置为如下所示的 textview 换行

android:layout_width="0dp"
app:layout_constraintWidth_default="wrap"

而且您还缺少顶部约束,这将导致视图运行时错位

【讨论】:

  • 感谢它按预期工作,但不知道为什么在添加此行后我无法设置文本对齐:app:layout_constraintWidth_default="wrap",通常我可以设置文本对齐文本开始使用这个:chattext.setTextAlignment(View.TEXT_ALIGNMENT_TEXT_END)
  • 不太清楚它在 xml 中是否有效,您可以在 java 中检查 android:gravity="end" 或 setGravity
  • 如果您能提供帮助,我发现它只需要以编程方式禁用此行:app:layout_constraintWidth_default="wrap"
  • 如果您希望将视图固定到右侧并具有完整的设备宽度,您可以从 xml 中删除 app:layout_constraintWidth_default="wrap" 但取决于您的要求
  • it" 像 facebook 这样的聊天,例如有时在右边,有时在左边,现在每件事都按预期工作,只需要禁用这一行 app:layout_constraintWidth_default="wrap" 我的效果如果条件
猜你喜欢
  • 2019-01-20
  • 2019-12-05
  • 2018-04-15
  • 1970-01-01
  • 1970-01-01
  • 2018-04-27
  • 1970-01-01
  • 1970-01-01
  • 2020-05-30
相关资源
最近更新 更多