2024-09-01
Android/Java
00

目录

问询、帮助

要实现用户点击别处时不让文本输入框高亮,你可以在根布局中添加一个可点击的 View,当用户点击这个 View 时,让焦点从文本输入框移除。这样用户点击别处时就不会再有文本输入框高亮了。

cpp
<!-- 添加一个可点击的透明 View,用于移除焦点 --> <View android:id="@+id/clickableBackground" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/transparent" android:clickable="true" android:focusable="true" android:onClick="removeFocus" android:focusableInTouchMode="true"/>

下面是你的 XML 布局文件修改后的版本:

xml
<?xml version="1.0" encoding="utf-8"?> <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:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#90EE90" tools:context=".MainActivity"> <!-- 添加一个可点击的透明 View,用于移除焦点 --> <View android:id="@+id/clickableBackground" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/transparent" android:clickable="true" android:focusable="true" android:onClick="removeFocus" android:focusableInTouchMode="true"/> <!-- 向左显示 蓝牙考勤打卡标题 --> <TextView android:id="@+id/textViewTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="蓝牙考勤打卡" android:textSize="24sp" android:textColor="#000000" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" android:layout_marginTop="16dp" android:layout_marginBottom="16dp" app:layout_constraintHorizontal_bias="0.05"/> <!-- 居中显示字符串“打卡状态:已打卡” --> <TextView android:id="@+id/textViewCheckInStatus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="打卡状态:未打卡" android:textSize="18sp" android:textColor="#000000" app:layout_constraintTop_toBottomOf="@id/textViewTitle" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" android:layout_marginTop="16dp" android:layout_marginBottom="16dp"/> <!-- 输入姓名 --> <EditText android:id="@+id/editTextName" android:layout_width="0dp" android:layout_height="wrap_content" android:hint="请输入姓名" android:padding="12dp" android:background="@android:drawable/edit_text" app:layout_constraintTop_toBottomOf="@id/textViewCheckInStatus" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" android:layout_marginTop="16dp"/> <!-- 输入学号 --> <EditText android:id="@+id/editTextStudentID" android:layout_width="0dp" android:layout_height="wrap_content" android:hint="请输入学号" android:padding="12dp" android:background="@android:drawable/edit_text" app:layout_constraintTop_toBottomOf="@id/editTextName" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" android:layout_marginTop="16dp"/> <!-- 按钮容器 --> <LinearLayout android:id="@+id/buttonContainer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintTop_toBottomOf="@id/editTextStudentID" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" android:layout_marginTop="16dp"> <!-- 保存按钮 --> <Button android:id="@+id/buttonSave" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="保存信息" android:layout_marginEnd="8dp"/> <!-- 手动打卡按钮 --> <Button android:id="@+id/buttonManualCheckIn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="手动打卡"/> </LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout>

同时,在你的 Activity 或 Fragment 中,添加一个方法来处理点击事件:

java
public void removeFocus(View view) { editTextName.clearFocus(); editTextStudentID.clearFocus(); // 可以添加其他 EditText 的清除焦点操作,如果有的话 }

这样,当用户点击界面上任何地方时,文本输入框就会失去焦点,高亮也会消失。

在这里插入图片描述

问询、帮助

你如果需要帮助,请看这里:

csharp
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!