在android中自定义按钮

时间:2012-09-07 09:22:39

标签: android android-layout android-button

我想通过extendong Button类自定义android中的通用按钮。

我只是希望默认的android按钮会在按钮中间显示一条水平线。

所以这是draw方法实现:

protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    Paint paint = new Paint();
    paint.setColor(Color.RED);
    canvas.drawLine(0, getHeight()/2, getWidth(), getHeight()/2, paint);
}

这是插入布局

的按钮
<Button
    class="com.example.backproject.ShadowButton"
android:background="@android:color/transparent" 
    android:id="@+id/myButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

</Button>

但按钮不会改变。

为什么?

提前TY!

2 个答案:

答案 0 :(得分:2)

您已经创建了自定义按钮,然后像这样使用

<com.example.backproject.ShadowButton
    android:background="@android:color/transparent" 
    android:id="@+id/myButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

答案 1 :(得分:2)

在xml文件中使用此<com.example.backproject.ShadowButton代替<Button,然后移除 class =&#34; com.example.backproject.ShadowButton&#34;  

修改:代码

<com.example.backproject.ShadowButton
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@android:color/transparent" 
    android:id="@+id/myButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>