我有一个这样简化的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:gravity="center"
android:text="@string/very_long_text"
android:textSize="24sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="horizontal"
android:paddingTop="10dp">
<Button
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:padding="3dp"
android:text="cancel"
android:textSize="24sp"/>
<Button
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:padding="3dp"
android:text="yes"
android:textSize="24sp" />
</LinearLayout>
</LinearLayout>
@string/very_long_text
的值为:
a very long long long long long long long long long long long long long long long long long long long long long long long long long long long text
结果是:
如您所见,文本被剪切掉了。我知道我可以将width
的{{1}}更改为textview
,然后文本将被完全显示,但是它将布局的宽度更改为全屏,这是不希望的。是什么导致此问题?我该如何解决这个问题?
编辑
我将其用作“活动”的布局,该布局必须类似于对话框。
答案 0 :(得分:1)
尝试以下
使用ConstraintLayout
<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="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/txtMessage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="a very long long long long long long long long long long long long long long long long long long long long long long long long long long long text"
android:textSize="24sp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btnCancel"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:padding="3dp"
android:text="cancel"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/btnYes"
app:layout_constraintTop_toTopOf="@+id/btnYes" />
<Button
android:id="@+id/btnYes"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:padding="3dp"
android:text="yes"
android:textSize="24sp"
app:layout_constraintEnd_toStartOf="@+id/btnCancel"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/txtMessage" />
</android.support.constraint.ConstraintLayout>
输出
答案 1 :(得分:1)
您可以将margins
的{{1}}属性用于match_parent
:
parent layout
答案 2 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:gravity="center"
android:text="a very long long long long long long long long long long long long long long long long long long long long long long long long long long long text"
android:textSize="24sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="horizontal"
android:paddingTop="10dp">
<Button
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:padding="3dp"
android:text="cancel"
android:textSize="24sp"/>
<Button
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:padding="3dp"
android:text="yes"
android:textSize="24sp" />
</LinearLayout>
</LinearLayout>
将顶部线性布局设置为与父textview匹配,如上所示包装内容