【发布时间】:2019-01-12 06:50:46
【问题描述】:
我有一个包含输入容器的布局。这个输入容器可以被任何类型的视图以编程方式替换。 我的输入容器是这样的
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/inputContainer"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/questionLabel">
</androidx.constraintlayout.widget.ConstraintLayout>
我想添加一个编辑文本,基本上是在输入容器中的一个文本区域。 我有以下代码用编辑文本替换输入容器。
val inflater = LayoutInflater.from(context)
var edittext = inflater.inflate(R.layout.text_area, null, true) as EditText
inputContainer.addView(edittext)
这是我的 text_area 布局
<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/textArea"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="7"
android:minLines="3"
android:text=""
android:scrollbars="vertical"
android:scrollbarStyle="insideOverlay"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
当我运行应用程序时,我看到文本区域的宽度与父级不匹配。 它看起来像这样。如果您看到图像中的线条。它需要一直扩展到父级的右侧。
我希望编辑文本的宽度与父级匹配。有人可以指点我可能做错了什么吗?我尝试在输入容器中将 layout_width 设置为“match_parent”。但还是没有运气。
【问题讨论】:
-
因为您将 null 作为父级而不是 ViewGroup 传递
-
我添加了视图组而不是 null,它现在可以工作了。
标签: android kotlin android-edittext