【发布时间】:2018-04-28 09:28:03
【问题描述】:
我不明白为什么当我在 TextView 上添加 requestFocus 时需要定义 layout_height 和 layout_width,但没有它我不需要。
这是我没有 requestFocus 的 XML。
<TextView
android:id="@+id/txtRespiratory"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:text="Respiratory Rate"
android:textAppearance="@android:style/TextAppearance.Material.Large"
app:layout_constraintStart_toEndOf="@+id/btnRespiratory"
app:layout_constraintTop_toTopOf="@+id/btnRespiratory"/>
但是,当我修改以将焦点添加到 TextView 时,它要求 layout_height 和 layout_width 并崩溃。这是带有 requestFocus 的新代码。
<TextView>
android:id="@+id/txtRespiratory"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:text="Respiratory Rate"
android:textAppearance="@android:style/TextAppearance.Material.Large"
app:layout_constraintStart_toEndOf="@+id/btnRespiratory"
app:layout_constraintTop_toTopOf="@+id/btnRespiratory"
<requestFocus/>
</TextView>
谁能解释一下为什么在请求焦点时我必须设置高度和宽度?
谢谢!
【问题讨论】:
-
您在关闭标签之前将
<requestFocus/>放入TextView。实际上它应该是TextView中的子标签,而不是字段。
标签: android xml android-layout