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

如何在Android材质设计中删除TextInputLayout下的下划线?

慕容弘懿
2023-03-14

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

如何删除此下划线?

XML:

<com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="@dimen/_10sdp"
            style="?colorOnPrimary"
            app:boxCornerRadiusTopEnd="@dimen/_5sdp"
            app:boxCornerRadiusTopStart="@dimen/_5sdp"
            app:startIconContentDescription="Heading">

            <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/input_heading"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fontFamily="@font/ubuntubold"
                android:hint="Heading"
                android:inputType="text" />

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

共有2个答案

魏澄邈
2023-03-14

要删除下划线,应为TextInputLayout创建主题和样式

<style name="MyTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
    <item name="textInputStyle">@style/Widget.SearchBarTheme.TextInputLayout</item>
</style>

<style name="Widget.MyTheme.TextInputLayout" parent="Widget.MaterialComponents.TextInputLayout.FilledBox">
    <item name="boxStrokeWidth">0dp</item>
    <item name="boxStrokeWidthFocused">0dp</item>
</style>

之后,为视图指定主题

    <com.google.android.material.textfield.TextInputLayout
    android:id="@+id/ily"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:hintEnabled="false"
    android:theme="@style/MyTheme"
    >

    <com.google.android.material.textfield.TextInputEditText
        android:id="@+id/etx"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:inputType="text"
        android:hint="Whatever you want"
        android:paddingTop="8dp"/>

</com.google.android.material.textfield.TextInputLayout>
曹均
2023-03-14

正如材料设计指南中所述,这是TextInputLayout的激活指示器。

有关详细信息,请查看激活指示器属性。

一种解决方案是覆盖应用程序中的一些属性。

或者你可以这样做:

<com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="@dimen/_10sdp"
            style="?colorOnPrimary"
            app:boxCornerRadiusTopEnd="@dimen/_5sdp"
            app:boxCornerRadiusTopStart="@dimen/_5sdp"
            app:startIconContentDescription="Heading"
            app:boxStrokeWidth="0dp"
            app:boxStrokeWidthFocused="0dp">

    <com.google.android.material.textfield.TextInputEditText
        android:id="@+id/input_heading"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fontFamily="@font/ubuntubold"
        android:hint="Heading"
        android:inputType="text" />

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

检查应用程序:boxStrokeWidth="0dp"应用程序:boxStrokeWidthFocus="0dp"

 类似资料:
  • 我要删除下划线。 这是我的代码:

  • 想在Android中实现这个动画。感谢任何帮助。

  • 有没有办法在Eclipse中创建具有材质设计的应用程序?汉堡到箭头动画,全屏高度导航抽屉。。。

  • 我是Android材料设计概念的新手。我创建了一个新项目并添加了带有AppCompat支持的前Lollipop版本的材料主题,但我的问题是,在Lollipop中它显示了ActionBar又名工具栏,但如果我在Lollipop前运行相同的,它不会显示ActionBar。 我是否只需要在我的布局中的任何地方使用工具栏控件,而不管API版本如何? 编辑:

  • 我使用Android Studio,我想在低于21的API中使用材料设计功能。首先,我读了这些问题: 如何在eclipse中使用api低于21的材质设计特性? 我希望在日食中采用5.0之前的材质设计设备 Android设计支持库和材质设计向后兼容? 我还阅读了以下内容: https://developer . Android . com/training/material/compatibilit

  • 我目前试图隐藏的下划线的当它被禁用。以下是当前实现的外观。我想要同样的样子,但不要下划线。以下是当前的XML: 自定义样式: 到目前为止,我所尝试的: 将的主题设置为自定义样式 重写背景的和/或是一个纯色绘图 大多数在线解决方案建议使用自定义样式和设置颜色控制正常,但这似乎对我来说并不管用。提前感谢