2014-02-26 119 views
1

我知道這個問題是一個重複的,但我不能找出解決方案,創建自定義形狀的按鈕說圓形,橢圓形等如何創建自定義形狀的按鈕,Android的

Doubt1:我的目標是隻執行一個動作當點擊形狀內的區域時,不應該在形狀外面執行任何操作(例如,只有圓形區域必須與聽衆聯繫)。

疑問2:我可以使用形狀的png圖片作爲背景,還是應該只使用形狀來繪製它們。 請給我一個簡單的解決方案...

在此先感謝..

+0

見http://docs.xamarin.com/recipes/android/資源/一般/ style_a_button /和http://docs.xamarin.com/recipes/android/resources/general/style_a_button/ –

回答

0

由於@ MSaudi說ShapeDrawable會給你形狀的按鈕。

如果您想使用更難的PNG。

我會通過擴展Button類並覆蓋onTouchEvent方法來只在需要的形狀內部註冊點擊(可能通過檢查視圖在點擊位置是否透明)來處理它。

1

您應該使用ShapeDrawable作業。例如,如果您製作了圓形按鈕,則如果您在圓形區域外單擊,則不會發生任何事情。

例如您繪製文件夾內,使XML文件circle_button:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval"> 
    <solid android:color="#9F2200"/> 
    <stroke android:width="2sp" android:color="#fff" /> 
</shape> 

,並在您的按鈕,設置background="@drawable/circle_button"

+0

我試過這個,但按鈕正在響應當單擊形狀外 –

2

您可以使用ImageButtons和設置的橢圓或圓形的圖像作爲背景。我希望它可以幫助

+0

我試過,但我沒有工作.. –

2

試試這個鏈接它會幫助你創建自定義按鈕。 http://angrytools.com/android/button/

所有你需要做的就是保存button.xml文件在您繪製文件夾,然後設置你的按鈕背景

android:background="@drawable/button.xml" 
+0

使用背景沒有解決我的問題 –