如何在 Android Lollipop 中使用带有边框的 EditText

新手上路,请多包涵

我正在开发一个 Android 应用程序。我需要知道我们如何才能拥有一个带边框的 EditText。在 Lolipop 中,他们完全改变了 EditText 样式。我们可以不使用drawables吗?

原文由 Sumanth Jois 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 413
2 个回答

在资源的drawable文件夹中写入editTextBackground.xml

 <shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke
        android:width="1dp"
        android:color="@color/borderColor" />
</shape>

不要忘记在名为 borderColor 的资源中声明颜色。

并将此背景分配给 EditText 在 xml 背景属性

<EditText
    android:id="@+id/text"
    android:background="@drawable/editTextBackground"
    />

并将边框设置为 EditText

更新

您可以使用 style 属性更改编辑文本的边框而不绘制

style="@style/Widget.AppCompat.EditText"

有关更多详细信息,请访问 自定义编辑文本

原文由 ELITE 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以使用 xml 来完成。

创建一个 xml 布局并将其命名为 my_edit_text_border.xml

  <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#ffffff"/>
            <corners android:radius="5dp" />
            <stroke
                android:width="2dp"
                android:color="#949494"
                />
        </shape>
    </item>
</selector>

为您的 Edittext 添加背景

<EditText
 android:id="@+id/editText1"
 ..
 android:background="@layout/my_edit_text_border">

原文由 Alex Jolig 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题