【问题标题】:Custom button with top and bottom margin具有顶部和底部边距的自定义按钮
【发布时间】:2012-06-02 20:12:02
【问题描述】:

我需要创建如下布局。

我还想出了如何创建这样的布局:

如何添加顶部和底部边距?和按钮背景颜色?我使用以下方法使按钮透明:

android:background="@android:color/transparent"

现在如何将按钮背景颜色设为浅蓝色。

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

谢谢!

【问题讨论】:

  • 为什么你不会尝试用 photoshop 制作一个方形按钮,用你想要的透明蓝色填充它,然后上下添加白色边框。我们开发人员有时必须成为设计师:D
  • 我忘记制作这个 png 文件,然后保存 9 个补丁图像

标签: java android xml android-layout android-button


【解决方案1】:

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

MyButton.getBackground().setAlpha(50);

要同时设置边框和透明背景,我认为您必须制作一个 XML 可绘制对象并定义为按钮的背景:

android:background="@drawable/mybuttonbackground"

那么drawable资源应该是这样的(/res/drawable/mybuttonbackground.xml):

<?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>

【讨论】:

  • 谢谢!以及我如何确定顶线和底线?
  • @lsuru 更新了我的答案。我认为唯一的方法是使用 Drawable 作为背景。
  • 非常感谢你是最棒的!如果可以,请给我一个很好的链接,我可以在其中了解有关自定义布局的更多信息。
  • @Isuru 甜蜜!很高兴它对你有效。我认为 Android 开发者网站是一个很好的阅读资源。它不是太干,有很多例子。 developer.android.com/guide/topics/resources/…
猜你喜欢
  • 1970-01-01
  • 2015-06-15
  • 1970-01-01
  • 1970-01-01
  • 2012-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-21
相关资源
最近更新 更多