java - 如何以编程方式使edittext下划线透明白色

标签 java android android-edittext

View.OnFocusChangeListener focusListener = new View.OnFocusChangeListener() {
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus){
                editText.getBackground().setColorFilter(ContextCompat.getColor(getActivity().getApplicationContext(),R.color.ed_background), PorterDuff.Mode.SRC_ATOP);
            } else {
                int color = Color.parseColor("#FFFFFF");
                editText.getBackground().setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
            }
        }
    };

<color name="ed_background">#33FFFFFF</color>

这会使编辑文本下划线变黑,但我希望它是透明的白色。使用 xml 设置自定义样式也会将其设置为黑色。我怎样才能用java把下划线变成透明的白色?

最佳答案

你可以这样试试: 为 ex edittext_lined.xml

创建可绘制的 xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="-2dp" android:right="-2dp" android:left="-2dp">
    <shape>
      <solid android:color="@android:color/transparent" />
      <stroke android:color="@color/ed_background" android:width="1dp"/>
    </shape>
</item>

然后在代码中:

editText.setBackgroundResource(R.drawable.edittext_lined);

关于java - 如何以编程方式使edittext下划线透明白色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41511552/

相关文章:

java - 如何使用 session 从一个jsp页面访问另一个jsp页面的输入值?

java - 为没有 equals() 的对象创建一个 hashmap 或 set

Android:需要验证非空白输入的编辑文本

android - EditText缩小

java - 在方法中使用扫描器

java - Spring JPA @OneToMany 参数值[]与预期类型不匹配

android - webview应该拦截请求示例

java - 使用 RXJava 2 异步读/写 Realm

java - 尽管在项目中添加了特定的 jar,但未找到类(android 到 sqlserver,没有 web 服务)

android - 在 Edittext android 的焦点上显示帮助消息