android - 如何向 Edittext 或 Searchview 添加弯曲的下划线?

标签 android android-edittext android-custom-view android-theme searchview

editext image

如果可能的话,我想创建一个搜索 View 或一个类似的编辑文本,我相信它是全息主题,但我的项目主题是 Appcompact,thnx。

最佳答案

在你的布局文件中

<EditText
    android:id="@+id/editText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="EditText"
    android:padding="8dp"
    />

edit_text_drawable.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="16dp"/>
    <solid android:color="@android:color/transparent"/>
    <stroke
        android:color="@color/colorBlue"
        android:width="2dp" />
</shape>

此可绘制对象将用作 EditText 的背景。 标签 stroke 为这个形状画出轮廓 - 在这里设置轮廓宽度和颜色。

在你的代码中

EditText editText = (EditText) findViewById(R.id.editText);

ClipDrawable clipDrawable = new ClipDrawable
              (getResources().getDrawable(R.drawable.edit_text_drawable), 
                    Gravity.BOTTOM, ClipDrawable.VERTICAL);
clipDrawable.setLevel(2000);

editText.setBackground(clipDrawable);

这里是 ClipDrawable“裁剪”可绘制的背景。 ClipDrawable documentation

关于android - 如何向 Edittext 或 Searchview 添加弯曲的下划线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40417250/

相关文章:

android - 用户打字时如何避免 EditText 上的多个触发器?

android - EditText 中的阿拉伯文本和行高问题

android - 如何给图片添加相框?

android - 每次我进行一些更改时,都会出现 android lint 错误...为什么会这样?

android inSampleSize 的 BitmapFactory.Options()

android - 向 acumatica 移动设备添加屏幕

java - 如何在 EditText 中插入文本?

android - 使用 ArrayAdapter 创建多列布局

Android:以编程方式设置编辑文本或 TextView id

android - 如何在android中创建一个可点击的不规则形状区域?