Java 带有上下边距的自定义按钮

Java 带有上下边距的自定义按钮,java,android,xml,android-layout,android-button,Java,Android,Xml,Android Layout,Android Button,我需要创建如下布局 我研究了如何创建一个这样的布局: 如何添加上下页边距?按钮的背景色是什么?我使用以下方法使按钮透明: android:background="@android:color/transparent" 现在,我如何使按钮背景颜色为浅蓝色 如果我使用自定义按钮布局,我该怎么做?我检查了很多Stackoverflow问题,但都涉及渐变、点击时的颜色变化等 谢谢大家! 您不想使用透明背景色。。。而是将其设置为您想要的蓝色。然后使用setAlpha使其部分透明: MyButton.

我需要创建如下布局

我研究了如何创建一个这样的布局:

如何添加上下页边距?按钮的背景色是什么?我使用以下方法使按钮透明:

android:background="@android:color/transparent"
现在,我如何使按钮背景颜色为浅蓝色

如果我使用自定义按钮布局,我该怎么做?我检查了很多Stackoverflow问题,但都涉及渐变、点击时的颜色变化等

谢谢大家!

您不想使用透明背景色。。。而是将其设置为您想要的蓝色。然后使用setAlpha使其部分透明:

MyButton.getBackground().setAlpha(50);
要设置边框和透明背景,我认为您必须使XML可绘制并定义为按钮的背景:

android:background="@drawable/mybuttonbackground"
那么可绘制资源应该是这样的(/res/drawable/mybuttonbackground.xml):



谢谢!“我是如何做顶线和底线的?”伊苏鲁更新了我的答案。我想唯一的办法就是用一个可画的背景。非常感谢你,你是最好的!如果可以,请给我留下一个好的链接,我可以在这里了解更多有关自定义布局的信息。@Isuru Sweet!很高兴它对你有用。我认为Android开发者网站是一个很好的阅读资源。它不太干,有很多例子。为什么你不试着用photshop制作一个正方形,用你想要的透明蓝色填充,然后上下添加白色边框。我们开发人员有时必须是设计师:我忘了制作这个png文件,然后保存一个9补丁图像
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape android:shape="rectangle">
            <stroke android:width="1dp" android:color="#FF000000" />
            <solid android:color="#FFFFFF" />
        </shape>
    </item>

   <item android:top="1dp" android:bottom="1dp"> 
        <shape ="rectangle">
            <stroke android:width="1dp" android:color="#FFDDDDDD" />
            <solid android:color="#FFFFFF" />
        </shape>
   </item>
</layer-list>