文本框获得焦点后改变图标颜色,边框颜色等样式

在Android Studio中,当处理EditText控件的焦点变化时,如果你想改变输入框边框颜色,特别是下划线颜色,你可以通过自定义样式或利用`android:textCursorDrawable`属性来实现。下面是一个简单的示例: 1. **自定义样式**: 首先,创建一个名为`custom_cursor_drawable.xml`的资源文件,通常放在`res/drawable`目录下: ```xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:drawable="@color/yourFocusedColor"> <!-- 当获取焦点时 --> <shape> <stroke android:width="1dp" android:color="@color/yourFocusBorderColor" /> <!-- 设置边框宽度和颜色 --> <solid android:color="@android:color/transparent" /> <!-- 内部填充透明 --> </shape> </item> <item android:drawable="@android:color/selection_handle_color"> <!-- 默认无焦点状态 --> </item> </selector> ``` 然后在主题或样式中引用这个样式: ```xml <style name="YourTheme" parent="Theme.MaterialComponents.Light"> <item name="android:textCursorDrawable">@drawable/custom_cursor_drawable</item> </style> ``` 2. **直接修改属性**: 如果你不想创建一个自定义选择器,也可以直接在XML布局中设置: ```xml <EditText android:id="@+id/your_edit_text" android:focusableInTouchMode="true" android:textCursorDrawable="@drawable/custom_cursor_drawable" ... /> ``` 这里`custom_cursor_drawable`替换为你上述创建的资源ID。 注意,`focusableInTouchMode="true"`确保点击其他区域仍然可以获取焦点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值