自定义设计一个简单的android按钮

时间:2013-10-04 02:12:51

标签: android android-button

自定义设计按钮


我有一个简单的按钮

activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="Button" />

</RelativeLayout>

如何自定义设计此按钮,如下所示

enter image description here

我想做的规格::

  • 背景黑色
  • 按钮的文本位于按钮的底部,如下所示 图

任何想法

1 个答案:

答案 0 :(得分:1)

Pulkit对于使用重力定位文本是正确的。具体来说,您可能想要:

    android:gravity="bottom|center_horizontal"

对于黑色背景,您可以使用背景xml属性:

    android:background="@drawable/btn_black"

当然,您需要在drawable文件夹中提供名为btn_black.png的png。

如果您希望按钮看起来像被按下,则需要为每个状态(按下,正常,聚焦等)设置不同的绘图。您需要将按钮背景设置为一个xml文件,描述看起来像这样的状态:

    <?xml version="1.0" encoding="utf-8"?> 
      <selector xmlns:android="http://schemas.android.com/apk/res/android">   
      <item android:state_focused="true" android:drawable="@drawable/btn_black_normal"/> 
      <item android:state_pressed="true" android:state_enabled="false"
            android:drawable="@drawable/btn_black_pressed" />
      <item android:drawable="@drawable/btn_black_normal"/> 
    </selector>