简体   繁体   English

使 TextInputEditText 默认为焦点

[英]Make TextInputEditText focussed by default

I've got a bunch of TextInputEditText fields in my activity.我的活动中有一堆 TextInputEditText 字段。 I want the topmost one to be focussed by default.我希望默认情况下关注最上面的那个。 But I can't get it to work.但我无法让它工作。 My min SDk version is 21.我的最小 SDk 版本是 21。

androidx.constraintlayout.widget.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="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
android:focusableInTouchMode="true"
tools:context=".MyActivity">

<com.google.android.material.textfield.TextInputLayout
    android:id="@+id/myTitle"
    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="40dp"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    android:hint="My  Title"
    app:counterEnabled="true"
    app:counterMaxLength="20"
    app:endIconMode="clear_text"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:boxBackgroundColor="@color/black"
    android:textColorHint="@color/text_color"
    app:boxStrokeWidthFocused="2dp"
    app:boxStrokeColor="@drawable/outlined_box"
    app:hintTextColor="@color/text_color"
    android:focusedByDefault="true"
    android:focusable="true"
    app:endIconTint="@color/text_color"
    app:layout_constraintTop_toTopOf="parent">

    <com.google.android.material.textfield.TextInputEditText
        android:layout_width="match_parent"
        android:focusedByDefault="true"
        android:textColor="@color/white"
        android:layout_height="wrap_content"

        />

</com.google.android.material.textfield.TextInputLayout>
... more TextInputs

My outline box is a selector as below我的大纲框是一个选择器,如下所示

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/white" android:state_focused="true"/>
    <item android:color="@color/white" android:state_hovered="true"/>
    <item android:color="@color/white" android:state_enabled="false"/>
    <item android:color="@color/text_color"/>  <!-- unfocused -->
</selector>

All examples are see online are how to turn off the default focussing:)所有示例都在网上看到是如何关闭默认对焦:)

Try to request the focus:尝试请求焦点:

<com.google.android.material.textfield.TextInputEditText
        android:layout_width="match_parent"
        android:focusedByDefault="true"
        android:textColor="@color/white"
        android:layout_height="wrap_content"

        <requestFocus />

</com.google.android.material.textfield.TextInputEditText>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM