我想將邊框添加到無邊界按鈕。但是,如果我使用父borderlessbutton創建自己的樣式並覆蓋背景標籤,則會鬆開狀態更改動畫等,因爲這也是由背景定義的。我也無法自己實現它們,因爲原生android drawables不可用,因此無法訪問。我不想複製drawables。 是否僅可能通過編程覆蓋ondraw
,或者是否存在缺少的基於xml的解決方案? (順便說一句,這是一個元素週期表所以這不應涉及具有用於每個按鈕XML文件作爲有他們的約100) 感謝 斯蒂芬將樣式添加到android無邊界按鈕(android 4.0+)
2
A
回答
1
的這大部分來自this article。
有一個4個步驟在做這樣的事情:
- 創建一個包含狀態的XML文件。
- 每個狀態
- 創建一個XML文件(或背景)創建按鈕
- 的樣式按鈕添加到您的佈局,看看它是什麼樣子。
最困難的事情是第一步,所以我會在這裏展示一個。對於其他人,你可以訪問該網站或做你自己的事情。基本上,它看起來像這樣。基本上需要捕獲所有4個州。這應該保存在可繪製的文件夾中,並且這個名稱就是您的應用程序將用於繪圖名稱的名稱。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_enabled="false"
android:drawable="@drawable/loc_for_button_disabled" />
<item
android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/loc_for_button_pressed" />
<item
android:state_focused="true"
android:state_enabled="true"
android:drawable="@drawable/loc_for_button_focused" />
<item
android:state_enabled="true"
android:drawable="@drawable/loc_for_button_enabled" />
</selector>
+0
好吧,看起來這是要走的路。謝謝! :-) – user1924915
0
的簡單的方法將是一個單獨的佈局,例如內把您的按鈕一個LinearLayout
並給這個佈局一個背景色和一個填充例如1DP。這會在按鈕周圍呈現「邊框」。請注意,這在佈局方面相當昂貴,所以當你有很多按鈕時不要使用這種方法。
的正確的解決辦法是創建您的所有國家一個可繪製,並建立與您可繪製一個statelist繪製並指定該statelist繪製作爲按鈕的背景。其實這並沒有太多的工作,只是看看http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList
相關問題
- 1. Android無邊界按鈕
- 2. Android添加邊框到按鈕
- 3. 添加樣式到按鈕
- 4. 將樣式添加到CommandItemSettings RadGrid按鈕
- 5. 將內容添加到按鈕樣式
- 6. Android按鈕樣式
- 7. Android將圖像添加到按鈕
- 8. Android:將按鈕添加到YouTubePlayerView
- 9. android將按鈕添加到gridview
- 10. 將按鈕添加到android java代碼
- 11. 添加多維數據集形狀樣式到Android按鈕
- 12. Android按鈕文字超出邊界
- 13. 邊界半徑按鈕沒有在Android
- 14. Android添加按鈕
- 15. 無法將按鈕樣式與VisualStateManger.VisualStateGroup添加到資源字典
- 16. wpf將樣式屬性添加到按鈕的默認樣式
- 17. 在邊界外添加樣式
- 18. Android的 - 將按鈕樣式爲主題
- 19. 將自定義樣式添加到QTableview中添加的按鈕
- 20. Android中的按鈕樣式
- 21. 動態android按鈕樣式
- 22. Android按鈕樣式佈局
- 23. Android中的按鈕樣式
- 24. Android圖像按鈕樣式
- 25. 如何更改按鈕邊界外按鈕的樣式
- 26. 將按鈕添加到UISearchBar的左邊
- 27. 如何將邊框添加到按鈕?
- 28. 將按鈕添加到窗口邊框
- 29. Android無法將搜索按鈕添加到選項菜單
- 30. 如何在按下按鈕時添加到jlabel的x邊界
如果它是一個週期表,那麼也許你應該使用網格視圖。這支持了項目之間的界限。 –
原始圖片可以通過SDK進行瀏覽。您需要一個具有正確結構的xml文件,Android會爲正確的狀態提取圖片。 – rekire