【问题标题】:android- How to get borders like thisandroid-如何获得这样的边框
【发布时间】:2015-01-02 14:07:53
【问题描述】:

这是我想要的编辑文本:

这是我目前得到的:

两个问题:

  1. 如您所见,顶部边框应该小得多。

  2. 我在代码上设置了填充,但正如您所见,它不起作用。文本位于编辑文本的顶部。如何使其居中对齐并位于edittext的中间?

这是我的可绘制 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>

【问题讨论】:

标签: android android-drawable android-styles


【解决方案1】:

要减小顶部边框的大小,您可以尝试使用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。 要在边框边缘放置“填充”,请尝试设置 layout_margin

<EditText
    ...
    android:background="@drawable/ourDrawable"
    android:text="text goes here"
    android:gravity="center"
    android:layout_margin="5dp" />

【讨论】:

    猜你喜欢
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    相关资源
    最近更新 更多