2012-09-07 38 views
0

我想通過extendong Button類來定製android中的通用按鈕。在android中定製按鈕

我只是想要默認的android按鈕將顯示在按鈕的中間水平線。

因此,這是抽籤方法實現:

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提前!

+0

請發表您的ShadowButton類 –

回答

2

您已經創建自定義的按鈕,然後使用類似這樣的

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

使用此<com.example.backproject.ShadowButton,而不是<Button在你的XML文件,並刪除類=「com.example.backproject.ShadowButton」

編輯:代碼

<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"/> 
+0

我有一個例外。 錯誤膨脹類com.example.backproject.ShadowButton 我需要將此類添加到其他文件嗎? –

+0

同樣的問題在這裏! –

+0

我認爲問題在於您需要使用AttributeSet實現構造函數,因爲這是由LayoutInflator使用的構造函數: –