删除EditText的焦点边框

Mar*_*los 83 android android-edittext

如何在聚焦EditText视图时删除边框?

我需要它,因为这个视图在屏幕上占用的空间很小,但没有边框就足够了.在模拟器上运行时,将显示橙色边框,在设备上显示蓝色边框.

el-*_*ano 186

您是否尝试将背景设置EditText为透明色?

<EditText  
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:hint="@string/hello" 
android:background="#00000000"
/>
Run Code Online (Sandbox Code Playgroud)

  • `"@android:color/transparent"`有点自我解释. (20认同)
  • 在代码中,这是:editTextView.setBackgroundColor(0); (13认同)
  • `"@null"`也可以是一个选项 (7认同)
  • 这个答案是不正确的,因为它不仅删除了焦点边框,还删除了未聚焦的EditText背景. (3认同)

And*_*oid 39

<EditText
            android:id="@+id/edittext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"  
            android:background="@android:drawable/editbox_background_normal"                 

 />
Run Code Online (Sandbox Code Playgroud)

  • 这应该标记为已接受的答案.当前接受的答案不仅在选择edittext时删除边框,而且在不选择时也删除边界. (3认同)

Mar*_*oB. 12

有可能的.但是我不推荐它,因为用户习惯于某些比喻,你不应该改变一般的UX.

您可以为视图应用不同的样式.在你的情况下,听起来你想要一个看起来像TextView元素的EditText View元素.在这种情况下,您必须根据View元素的状态为EditText指定其他背景.

在您想要的layout.xml中,为EditText指定一个背景:

<EditText  
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:hint="@string/hello" android:background="@drawable/custom"
/>
Run Code Online (Sandbox Code Playgroud)

然后在drawable文件夹中创建custom.xml并添加以下内容:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_window_focused="false" android:state_enabled="true"
    android:drawable="@drawable/textfield_default" />
  <item android:state_window_focused="false" android:state_enabled="false"
    android:drawable="@drawable/textfield_disabled" />
  <item android:state_pressed="true" android:drawable="@drawable/textfield_default" />
  <item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/textfield_default" />
  <item android:state_enabled="true" android:drawable="@drawable/textfield_default" />
  <item android:state_focused="true" android:drawable="@drawable/textfield_disabled" />
  <item android:drawable="@drawable/textfield_disabled" />
</selector>
Run Code Online (Sandbox Code Playgroud)

这些是EditText View元素的可能状态.通常您可以通过使用直接访问Android平台drawables @android:drawable/textfield_default,但在这种情况下,textfield drawables是私有的,因此您必须将它们复制到您自己的drawable文件夹中.可以在SDK安装文件夹中找到原始资源ANDROID_HOME\platforms\android-(API LEVEL)\data\res\drawable-(*dpi)\.

完成后,最终会得到一个看起来像TextView但完全没有这些边框的EditText.您在模拟器中看到的那些橙色边框是默认的Android drawable.蓝色的是供应商特定的(可能是三星).

希望有所帮助,并没有混淆那么多.


Fed*_*nzi 5

这是最快的解决方案:

<EditText
            android:id="@+id/edittext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"  
            android:background="#00000000"                 

 />
Run Code Online (Sandbox Code Playgroud)