android- 如何获得这样的边框
android- How to get borders like this
这是我想要的编辑文本:
这是我目前得到的:
两期:
如您所见,上边框应该小得多。
我在代码上设置了填充,但如您所见,它不起作用。文本位于编辑文本的顶部。我怎样才能使它居中对齐并位于编辑文本的中间?
这是我的可绘制对象xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="15dp"
android:shape="rectangle" >
<solid android:color="#3C1251" />
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp" />
<stroke
android:width="2.3dp"
android:color="#56DEF1" />
</shape>
要减小上边框的大小,您可以尝试使用 inset
将整个可绘制对象向上移动一两个像素。
例如,对于 1dp 的顶部边框,您可以将描边宽度设置为 3,并将 insetTop 设置为 -2。
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetTop="-2dp">
<shape
android:padding="15dp"
android:shape="rectangle" >
<solid android:color="#3C1251" />
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp" />
<stroke
android:width="3dp"
android:color="#56DEF1" />
</shape>
</inset>
要将文本居中对齐,请尝试将 EditText 上的 android:gravity
设置为 center
。
要将 "padding" 放在边框边缘,请尝试设置 layout_margin
.
<EditText
...
android:background="@drawable/ourDrawable"
android:text="text goes here"
android:gravity="center"
android:layout_margin="5dp" />
这是我想要的编辑文本:
这是我目前得到的:
两期:
如您所见,上边框应该小得多。
我在代码上设置了填充,但如您所见,它不起作用。文本位于编辑文本的顶部。我怎样才能使它居中对齐并位于编辑文本的中间?
这是我的可绘制对象xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="15dp"
android:shape="rectangle" >
<solid android:color="#3C1251" />
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp" />
<stroke
android:width="2.3dp"
android:color="#56DEF1" />
</shape>
要减小上边框的大小,您可以尝试使用 inset
将整个可绘制对象向上移动一两个像素。
例如,对于 1dp 的顶部边框,您可以将描边宽度设置为 3,并将 insetTop 设置为 -2。
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetTop="-2dp">
<shape
android:padding="15dp"
android:shape="rectangle" >
<solid android:color="#3C1251" />
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp" />
<stroke
android:width="3dp"
android:color="#56DEF1" />
</shape>
</inset>
要将文本居中对齐,请尝试将 EditText 上的 android:gravity
设置为 center
。
要将 "padding" 放在边框边缘,请尝试设置 layout_margin
.
<EditText
...
android:background="@drawable/ourDrawable"
android:text="text goes here"
android:gravity="center"
android:layout_margin="5dp" />