【问题标题】:How to remove underline below EditText indicator? [duplicate]如何删除 EditText 指示器下方的下划线? [复制]
【发布时间】:2016-10-15 22:33:57
【问题描述】:

最近我不得不更改 EditText 指示器的颜色,然后,指示器下方开始出现一条奇怪的线。我怎样才能删除它?我所做的代码如下。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                xmlns:card_view="http://schemas.android.com/apk/res-auto"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:background="#4FB6E1">

    <br.com.edsilfer.kiwi.loading.CircularProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        app:colorLine="#4e2972"/>

    <pl.droidsonroids.gif.GifTextView
        android:id="@+id/flying_charizard"
        android:layout_width="100dip"
        android:layout_height="70dip"
        android:layout_above="@+id/login_cluster"
        android:layout_margin="15dip"
        android:background="@drawable/flying_charizard"/>

    <android.support.v7.widget.CardView
        android:id="@+id/login_cluster"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_marginLeft="15dip"
        android:layout_marginRight="15dip"
        android:elevation="4dip"
        card_view:cardUseCompatPadding="true">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:paddingBottom="10dip"
            android:paddingLeft="10dip"
            android:paddingRight="10dip">

            <include layout="@layout/rsc_util_remove_act_edittext_focus"/>

            <EditText
                android:id="@+id/email"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="E-mail"
                android:imeOptions="actionNext"
                android:inputType="text"
                android:textColor="@color/textSecondary"
                android:textColorHint="@color/textSecondary"
                android:theme="@style/CustomEditText"/>

            <EditText
                android:id="@+id/password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dip"
                android:hint="Password"
                android:imeOptions="actionGo"
                android:inputType="textPassword"
                android:fontFamily="sans-serif"
                android:textColor="@color/textSecondary"
                android:textColorHint="@color/textSecondary"
                android:theme="@style/CustomEditText"/>


            <com.gc.materialdesign.views.ButtonRectangle
                android:id="@+id/login"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="15dip"
                android:background="@color/textSecondary"
                android:text="@string/act_login_login"/>

            <com.gc.materialdesign.views.ButtonFlat
                android:id="@+id/register"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="10dip"
                android:background="@color/textSecondary"
                android:text="@string/act_login_create_account"/>

            <com.gc.materialdesign.views.ButtonFlat
                android:id="@+id/forgotPassword"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:background="@color/textSecondary"
                android:text="@string/act_login_forgot_password"/>

            <TextView
                android:id="@+id/copyright"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginBottom="10dip"
                android:layout_marginTop="5dip"
                android:alpha="0.7"
                android:text="@string/act_login_copyright"
                android:textAlignment="center"
                android:textColor="@color/textSecondary"
                android:textColorHint="@color/textSecondary"
                android:textSize="@dimen/textH4"
                android:textStyle="bold"/>
        </LinearLayout>
    </android.support.v7.widget.CardView>

    <pl.droidsonroids.gif.GifTextView
        android:id="@+id/man_running"
        android:layout_width="60dip"
        android:layout_height="70dip"
        android:layout_alignParentBottom="true"
        android:layout_margin="5dip"
        android:background="@drawable/man_running"
        android:elevation="1dp"/>

    <pl.droidsonroids.gif.GifTextView
        android:id="@+id/background"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@drawable/login_background"/>
</RelativeLayout>

样式.xml

<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="CustomEditText" parent="Widget.AppCompat.EditText">
    <item name="colorControlNormal">@color/colorPrimaryDark</item>
    <item name="colorControlActivated">@color/colorPrimaryDark</item>
    <item name="colorControlHighlight">@color/colorPrimaryDark</item>
</style>

【问题讨论】:

  • 这不是重复的,因为我不是要删除下划线,而是在下划线上方显示一条额外的线。请仔细阅读说明
  • 对于材料设计,在 TextInputLayout 上使用 app:boxStrokeWidth="0dp"。

标签: android


【解决方案1】:

制作这样的背景 android:background="@null" 你的editText

【讨论】:

  • 如果您已经使用自定义背景drawable,则无法使用此解决方案.. :(
  • 我认为如果我们使用自定义背景,编辑文本下方的行将不可见。
  • 不,我使用自定义背景可绘制。但仍然有下划线这在这种情况下不起作用
  • 完全同意,使用自定义背景还是下划线
【解决方案2】:

如果您使用material componentsTextInputLayout,将背景颜色设置为其他内容不会删除下划线,解决方案是像这样设置BoxBackgroundMode(kotlin): myTextInputLayout.boxBackgroundMode = TextInputLayout.BOX_BACKGROUND_NONE

或在 xml 中: app:boxBackgroundMode="none"

我认为对组件进行此更改是为了使下划线使用自定义背景颜色“工作”

【讨论】:

  • 谢谢!!!!!!!!!!!!!!!!!!! TextInputLayout layout = new TextInputLayout(context); layout.setBoxStrokeColor(Color.TRANSPARENT); //&lt;-- nope layout.setBackgroundColor(Color.TRANSPARENT); //&lt;-- nope layout.setBackground(null);//&lt;-- nope layout.setBackgroundResource(R.color.textboxcolor);//&lt;-- nope
  • 这是唯一正确的答案。其他都是假的。
  • 不适合我:/
  • 谢谢,它也适用于材料编辑文本。
  • 哇!在这里提到的所有解决方法中,app:boxBackgroundMode="none" 也可以使用自定义背景!荣誉。作为参考,我使用了由TextInputLayout 包裹的材料TextInputEditText 和androidX
【解决方案3】:

EditTextbackground 颜色设置为白色。

您可以将屏幕的背景颜色设置为EditText背景,如果屏幕背景颜色和EditText背景颜色相同意味着EditText下划线将不可见。

android:background="#FFFFFF" 

【讨论】:

    【解决方案4】:

    getText() 之前使用edittext.clearComposingText(); 或在.xml 中使用android:inputType="text|textNoSuggestions"

    【讨论】:

    • Line 仍然存在,即使使用它...
    【解决方案5】:

    如果 android:background="@null" 没有帮助 - 尝试将其与 android:inputType="text|textNoSuggestions" 结合使用

    全景:

        <EditText
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:background="@null"
          android:inputType="text|textNoSuggestions" />
    

    【讨论】:

      【解决方案6】:

      我是这样编程的:

      editText.setBackground(null);
      

      【讨论】:

      • 也可以通过 xml - android:background="@null"
      【解决方案7】:

      android:background="@android:color/transparent"

      【讨论】:

        【解决方案8】:

        setColorFilter() 不适用于 API 级别 5 及以下。一种方法是使用setBackgroundColor(TRANSPARENT color) & 使用clearColorFilter() 将其删除。

        【讨论】:

          【解决方案9】:

          您还可以为您的 editText 定义一个 STYLE,这样您就可以重新组合所有共同的属性。如果您必须多次编辑需要具有行为的文本,它非常强大

          将代码放在res/values/styles.xml中

          <style name="MyEditTextStyle" parent="@android:style/TextAppearance.Widget.EditText">
              <item name="android:background">@color/transparence</item> //NO UNDERBAR
              <item name="android:maxLines">1</item>
              <item name="android:height">28dp</item> //COMMON HEIGHT
          </style>
          

          之后你只需要在你的editText中调用它

                         <EditText
                          android:id="@+id/edit1"
                          style="@style/MyEditTextStyle"
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content" />
                         <EditText
                          android:id="@+id/edit2"
                          style="@style/MyEditTextStyle"
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content" />
          

          【讨论】:

            【解决方案10】:

            我遇到了与 OP 屏幕截图中显示的相同的问题。 accepted answer 中描述的解决方案只需删除您要自定义的下划线。可以从Widget.AppCompat.EditText 继承style,但不能继承theme。解决方法是从您的 CustomEditText 中删除继承:

            <style name="CustomEditText"><!-- parent removed -->
                <item name="colorControlNormal">@color/colorPrimaryDark</item>
                <item name="colorControlActivated">@color/colorPrimaryDark</item>
                <item name="colorControlHighlight">@color/colorPrimaryDark</item>
            </style>
            

            致谢answer

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-07-27
              • 1970-01-01
              • 2023-03-05
              • 2013-11-10
              • 2020-10-30
              • 2020-01-14
              相关资源
              最近更新 更多