如何在顶部制作玻璃状的quare按钮?

时间:2015-05-05 12:07:17

标签: android button styling

我想制作一个带有应用程序图标的玻璃按钮。 我尝试了Button,将android:background设置为玻璃绘图,并使用drawableTop附加了应用程序图标,但应用程序图标不在按钮的中心

所以我尝试使用ImageButton,但ImageButton没有android:background,这意味着我无法将Glassy drawable和app图标设置在一起。

  • 如何使用XML制作玻璃绘图?
  • 如何同时应用背景并将应用程序图标居中?
  • 按钮为75x75 dp

2 个答案:

答案 0 :(得分:1)

尝试使用ImageView,使用android:background作为您的drawable,android:src作为您的图标,您可以通过android:gravity

答案 1 :(得分:1)

以下是您的要求的视图

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableTop="@drawable/android"
        android:text="Android"
        android:padding="20dp"
        android:gravity="center"
        android:layout_gravity="center"
        android:drawablePadding="15dp"/>

我试过75 * 75 dp drawable。它正在与中心对齐。您还可以将按钮的背景设置为玻璃状外观。为此,请使用this 工具,根据您的需要生成背景,并相应地进行自定义

这是我为您创建的玻璃按钮背景。在android:background=@drawable/glassybutton

中设置此项

<强> glassybutton.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>
            <item>
                <shape android:shape="rectangle">
                    <solid android:color="#ff0000"/>
                    <corners android:radius="5dp"/>
                </shape>
            </item>
            <item android:bottom="10dp">
                <shape android:shape="rectangle">
                    <gradient android:angle="270"
                        android:startColor="#80FFFFFF"
                        android:endColor="#20FFFFFF"/>
                    <corners android:radius="5dp"/>
                </shape>
            </item>
        </layer-list>
    </item>
</selector>