0

自定义设计按钮


我有一个简单的按钮

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>

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

在此处输入图像描述

我正在尝试做的规范::

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

有任何想法吗

4

1 回答 1

1

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

    android:gravity="bottom|center_horizontal"

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

    android:background="@drawable/btn_black"

当然,您需要在您的可绘制文件夹中提供一个名为 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>
于 2013-10-04T02:37:12.250 回答