当前位置: 首页 > 知识库问答 >
问题:

Android-无法隐藏'TextInputLayout`/'TextInputItemText'下划线

江曦
2023-03-14

我目前试图隐藏的下划线的TextInputEditText当它被禁用。以下是当前实现的外观。我想要同样的样子,但不要下划线。以下是当前的XML:

<com.google.android.material.textfield.TextInputLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:theme="@style/ProfileDetail.TextInputLayout"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <com.google.android.material.textfield.TextInputEditText
        android:id="@+id/value"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/selector_background_profile_item"
        android:ellipsize="end"
        android:maxLines="1"
        android:textAppearance="?textAppearanceBody2"
        android:enabled="false"
        tools:text="Jimmy" />

</com.google.android.material.textfield.TextInputLayout>

定义样式:

<style name="ProfileDetail.TextInputLayout" parent="Widget.Design.TextInputLayout">
    <item name="colorControlNormal">@color/white</item>
</style>

到目前为止,我所尝试的:

  • TextInputLayout的主题设置为自定义样式
  • 重写背景的TextInputEditText和/或TextInputLayout是一个纯色绘图

大多数在线解决方案建议使用自定义样式和设置颜色控制正常,但这似乎对我来说并不管用。提前感谢

共有2个答案

姬浩渺
2023-03-14

您可以使用:

     <com.google.android.material.textfield.TextInputLayout
         app:boxStrokeWidthFocused="0dp"
         app:boxStrokeWidth="0dp">
司马高韵
2023-03-14

如果将背景颜色设置为“透明”,则会消失:

yourEditText.setBackground(getResources().getDrawable(R.color.transparent));

在哪里:

<color name="transparent">#00000000</color>

编辑:在Gabriele的评论之后,我再次检查了我的项目,我可以验证上述解决方案对我有效,只要我直接更改TextInputEditText视图的背景,而不是通过TextInputLayout。我认为这个想法是颜色取代了包括下划线的背景绘图,因为颜色是透明的,所以视图与背景混合在一起。

编辑2:如果你想编辑包含布局,对我来说似乎也是有效的:mTextInputLayout.setBoxBackground Mode(TextInputLayout。BOX_BACKGROUND_NONE);

 类似资料:
  • 我试图切换到新的材质组件主题,有一件事我似乎不能改变,那就是标签和下划线的颜色。 当我使用AppCompat主题时,它使用了colorAccent,但是新的MaterialComponents主题使用了colorPrimary。 如何覆盖MaterialComponents主题以仅在该场景中使用色彩口音? 我尝试过的事情: 扩展小部件。MaterialComponents样式为TextInputL

  • 如何隐藏EditText下划线(末尾有衬线的提示线)? 可能有一个更好的方法来实现我想要的:我有一个带有EditText的布局。通常情况下,在用户可以点击它并开始输入或编辑文本的地方显示良好。 然而,有时我希望使用相同的布局(简化其他逻辑)以只读方式显示相同的数据。我希望演示文稿是相似的--它应该有相同的高度和相同的字体,但没有下划线。 作为权宜之计,我将通过删除EditText并替换TextVi

  • 我试图从名为的材质设计组件中删除下划线。我尝试了几个不同的答案,但都不适合我,所以我决定问自己的问题。 如何删除此下划线? XML:

  • 嗯,我也试着把它藏在身体里!还是不工作..?

  • 我在开发一个计算器应用程序。我想实现像Android默认计算器应用程序一样的UI。请查看我的应用程序的截图。 我想隐藏的下划线,并以颜色显示光标。我在EditText中使用了透明背景(从这里开始),还使用了作为背景。它隐藏EditText的下划线,同时也隐藏光标。但是...对于计算器应用程序光标不应隐藏。 请给我一个方法来隐藏的下划线并显示edittext的白色光标。

  • 我要删除下划线。 这是我的代码: