Android - 按钮的边框


Answers

请看这里关于创建一个可绘制的形状http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape

一旦你完成了这一点,在你的按钮设置的XML android:background="@drawable/your_button_border"

Question

如何将边框添加到按钮? 是否可以在不诉诸图像的情况下做到这一点?




如果您的按钮不需要透明背景,则可以使用“框架布局”创建边框幻觉。 只需调整FrameLayout的“填充”属性以更改边框的粗细。

<FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="1sp"
        android:background="#000000">
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Your text goes here"
            android:background="@color/white"
            android:textColor="@color/black"
            android:padding="10sp"
            />
</FrameLayout>

我不确定形状xml文件是否具有可动态编辑的边框颜色。 但我知道使用此解决方案,您可以通过设置FrameLayout背景来动态更改边框的颜色。




创建drawable / button_green.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:shape="rectangle">
  <gradient
    android:startColor="#003000"
    android:centerColor="#006000"
    android:endColor="#003000"
    android:angle="270" />
  <corners android:radius="5dp" />
  <stroke android:width="2px" android:color="#007000" />
</shape>

并将其指出为@drawable/button_green

<Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:background="@drawable/button_green"
        android:text="Button" />