【发布时间】:2018-01-06 03:00:27
【问题描述】:
我正在尝试创建一个布局,其中包含一个父 LinearLayout、一个包含标签 TextView 和错误 TextView 的子相对布局以及另一个子 EditText。
当单击父 LinearLayout 或标签时,我希望子 EditText 获得焦点。到目前为止,我尝试了以下方法:
- 父布局中的android:labelFor="@+id/account_number_input"
- 将 android:duplicateParentState="true" 添加到 EditText 并使 Parent LinearLayout 可聚焦和可点击
- 还在父 LinearLayout 上尝试了 android:descendantFocusability="afterDescendants",同时可聚焦。
似乎没有达到预期的效果。
以上是示例代码。我有多个类似的项目都需要自定义标签和错误部分。
<LinearLayout
android:id="@+id/account_number_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
style="@style/EditTextLinearLayout">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/account_number_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/add_account_number_label"
android:labelFor="@+id/username_input"
android:layout_alignParentStart="true"
android:layout_toStartOf="@+id/account_number_error"
style="@style/EditTextLabel"/>
<TextView
android:id="@+id/account_number_error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/account_number_label"
android:layout_alignParentEnd="true"
style="@style/EditTextError"/>
</RelativeLayout>
<EditText
android:id="@+id/account_number_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/add_account_number_hint"
style="@style/EditTextInput"/>
</LinearLayout>
【问题讨论】:
-
请尝试将 android:focusableInTouchMode="true" 添加到父 LinearLayout 中。
-
Subrato M. 我试过但没用
标签: android android-layout user-experience