回答
9補丁會工作在這裏很好,但我會盡量避免他們,因爲很難對按鍵之間沒有縫隙(保證金)我做這些:(
你可以嘗試有selector
和使用形狀每個狀態:
形狀應該是這樣的:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#AAFFFFFF"/>
<corners android:bottomRightRadius="7dp"
android:bottomLeftRadius="7dp"
android:topLeftRadius="7dp"
android:topRightRadius="7dp"/>
</shape>
你需要創建一個9-patch繪製兩個按鍵之間沒有縫隙)。爲了讓您需要創建XML適當的佈局和設置margin爲0
+1,thanx的支持,它也幫助我明白了這一點。 – 2011-03-16 12:01:19
您還可以使用的ImageView在XML文件,並給予onClickable和onFocusable真正的N新建的後端代碼onClick事件的方法,並給XML的方法的名稱,以便不用處理所有形狀或按鈕的問題,你只是把ImageView的存在,使它像一個button.Here是示例代碼爲您
<ImageView
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:onClick="testClickEvent"
android:paddingRight="8dip"
android:paddingBottom="8dip"
android:src="@drawable/testImg"/>
正如我在後臺方面稱,創建方法與這樣的跡象,這將做的工作
public void testClickEvent(View v){}
然後實現你想在這個方法中做什麼
創建九個補丁繪製其很容易與draw9patch(部分Android設備/工具),然後應用的風格和主題......在this link (Androgames.net)教程應該讓你開始。
+1,thanx支持。 – 2011-03-16 12:01:50
鏈接已經死亡 – Thomas 2013-12-03 08:06:47
尋foursquared源代碼和尋找SegmentedButton.java文件,這是實現這些按鈕在圖像中示出的文件中。
+1 Thiago Thanx爲它指出。我已經解決並實施了比這更好的事件:)我仍然會檢查它是否好。 :) – 2011-06-23 04:39:50
這裏有一些很漂亮的漸變按鈕的例子包括預覽: http://www.dibbus.com/2011/02/gradient-buttons-for-android/
Thanx分享這個,但我已經遇到了這篇文章4個月前。 – 2011-07-12 04:29:18
別忘了所有其他用戶在這裏。 – Bachi 2011-08-15 19:39:58
甚至更多:http://www.dibbus.com/2011/08/even-more-gradient-buttons-for-android/ – andresmafra 2014-04-03 23:04:04
我想和大家分享一篇文章是值得落實按鈕。 這裏是一個文章:http://www.dibbus.com/2011/03/9patch-images-in-android/,它真的不錯,真棒文章。
1-創造按下和釋放狀態
要創建形狀,我建議這個偉大的網站會爲你做它的形狀(與所需的顏色):http://angrytools.com/android/button/
繪製\ botton_shape_pressed.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="@color/pressed_button_background"
android:endColor="@color/pressed_button_background"
android:angle="45"/>
<padding android:left="7dp"
android:top="7dp"
android:right="7dp"
android:bottom="7dp" />
<corners android:radius="8dp" />
</shape>
drawable \ botton_shape_released。XML:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="@color/released_button_background"
android:endColor="@color/released_button_background"
android:angle="45"/>
<padding android:left="7dp"
android:top="7dp"
android:right="7dp"
android:bottom="7dp" />
<corners android:radius="8dp" />
</shape>
2-創建兩個形狀
選擇抽拉\ botton_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/botton_shape_pressed"
android:state_pressed="true" />
<item android:drawable="@drawable/botton_shape_pressed"
android:state_selected="true" />
<item android:drawable="@drawable/botton_shape_released" />
</selector>
3-使用選擇該按鈕
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/test"
android:textColor="@color/blue_text"
android:onClick="testOnClickListener"
android:background="@drawable/botton_selector" />
要設置文本的樣式,您可以將其添加到strings.xml中
<style name="ButtonText">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#ffffff</item>
<item name="android:gravity">center</item>
<item name="android:layout_margin">3dp</item>
<item name="android:textSize">30dp</item>
<item name="android:textStyle">bold</item>
<item name="android:shadowColor">#000000</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">1</item>
<item name="android:shadowRadius">2</item>
</style>
,並調用它在main.xml中按鈕
style="@style/ButtonText"
,你可以在@繪製創造/ btn_black具有以下玩的另一種方法...
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid
android:color="#343434" />
<stroke
android:width="1dp"
android:color="#171717" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#343434"
android:endColor="#171717"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#171717" />
<corners
android:radius="4dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
button_primary .XML
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="270"
android:endColor="@color/background"
android:startColor="@color/background" />
<corners android:radius="1dp" />
<stroke
android:width="2px"
android:color="@color/colorPrimary3" />
</shape>
呼叫 風格=「@風格/ button_pr imary「
- 1. 按鈕+微調[機器人]
- 2. 按下按鈕,機器人狀態
- 3. 手機上的聯繫人按鈕和輸入樣式
- 4. 按鈕樣式
- 5. 的Windows手機8按鈕樣式
- 6. 機器人 - 單選按鈕和RadioGroup中
- 7. 顯示按鈕的在機器人
- 8. 機器人:啓用/禁用按鈕
- 9. 填充圖像按鈕:機器人
- 10. 機器人如何爲按鈕
- 11. 延伸按鈕機器人,XML佈局
- 12. 禁用機器人後退按鈕
- 13. 機器人工作室按鈕功能()
- 14. 向Azure機器人添加樣式
- 15. WPF按鈕樣式
- 16. 樣式和按鈕
- 17. jeditable按鈕樣式
- 18. HTML按鈕樣式
- 19. Android按鈕樣式
- 20. AppBar按鈕樣式
- 21. 按鈕樣式,css
- 22. CSS按鈕樣式
- 23. Xamarin按鈕樣式
- 24. Java按鈕樣式
- 25. IOS按鈕樣式
- 26. WPF按鈕樣式
- 27. Windows Mobile 5.0按鈕樣式
- 28. IE中的按鈕樣式
- 29. 模擬按鍵式的Java機器人
- 30. 讓我的按鈕樣式像AlertDialog按鈕樣式
+1,thanx爲支持,其工作正常 – 2011-03-16 12:00:48
是的最好的你是絕對正確的即將使用9補丁圖像,請檢查我的答案如下:http://stackoverflow.com/questions/4489069/android-button- style/6659516#6659516 – 2011-07-12 04:30:45
對於半徑,如果所有角落都是相同的,可以使用這個小提示:android:radius =「Xdp」。只要添加他的代碼是好的。 – Nemka 2014-07-29 15:57:15