回答
創建drawable
一個red_button.xml
這樣的:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke android:width="2dp"
android:color="#80FFFFFF" />
<corners android:radius="25dp" />
<gradient android:angle="270"
android:centerColor="#ff0000"
android:endColor="#ff0000"
android:startColor="#ff0000" />
</shape>
要獲得相同的形狀作爲默認Button
可以玩弄radius
和stroke width
和stroke color
讓你Button
你想要的。
編輯:您可以將顏色添加到原來的默認Button
這樣的:
Drawable d = yourButton.getBackground();
PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP); // or whatever color you like
d.setColorFilter(filter);
我可以通過代碼執行此操作嗎,而不是將它放入XML中? – 2014-12-02 15:39:54
爲什麼你想在代碼中做到這一點?創建XML,只需在button.setBackgroundResource(R.drawable.red_button)中添加背景代碼; – Carnal 2014-12-02 15:41:51
我想通過代碼來做到這一點,因爲我通過代碼設置背景顏色。如果我製作了一個通用的按鈕佈局,並將其設置爲setBackgroundResource(),我可以使用代碼更改其背景顏色嗎?所以我不需要爲每種顏色需要一個佈局? – 2014-12-02 16:38:52
你可能已經錯過了佈局設置保證金。實際上,按鈕周圍有一個空白區域,所有按鈕都會被觸摸,所以當您設置背景時,空白區域也會變成紅色。我猜這應該沒問題。
佈局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<Button
android:id="@+id/one"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="About"
android:layout_margin="5dp" />
<Button
android:id="@+id/two"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Gallery"
android:layout_margin="5dp"/>
<Button
android:id="@+id/third"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Media"
android:layout_margin="5dp"/>
</LinearLayout>
在strings.xml中
<color name="red">#FF0000</color>
在Java
one = (Button) findViewById(R.id.one);
two = (Button) findViewById(R.id.two);
three = (Button) findViewById(R.id.third);
one.setBackgroundResource(R.color.red);
two.setBackgroundResource(R.color.red);
three.setBackgroundResource(R.color.red);
輸出
- 1. 更改空白背景顏色
- 2. C#更改按鈕的背景顏色
- 3. 更改按鈕的背景顏色
- 4. 更改按鈕顏色作爲背景顏色更改?
- 5. jqplot背景顏色區域?
- 6. 更改按鈕的背景顏色與我選擇的顏色
- 7. 更改背景顏色/按鈕顏色在TKinter
- 8. 如何更改qtabbar空白空間的背景顏色pyqt
- 9. Xcode - 更改按鈕上的按鈕背景顏色點擊
- 10. 編輯/完成按鈕,更改完成按鈕背景顏色
- 11. 更改UIActionSheet按鈕背景顏色和按鈕字體
- 12. NSAnimation刪除按鈕的背景顏色
- 13. 設置背景顏色改變按鈕
- 14. 更改編輯區背景顏色
- 15. UWP Template10 - 更改主題時更改按鈕背景顏色
- 16. hotcocoa按鈕背景顏色
- 17. 按鈕背景顏色
- 18. iOS 7 - 我可以更改UITableViewCell中的刪除按鈕背景顏色嗎?
- 19. 按下時更改操作欄按鈕的背景顏色
- 20. 如何動態更改按下按鈕的背景顏色?
- 21. 當按下按鈕時更改背景的行顏色
- 22. 更改按鈕上的listview背景顏色按
- 23. 按GLUT中的按鈕更改背景顏色
- 24. 更改WPF DatePicker年/月標題區域背景顏色
- 25. 如何更改懸停時鏈接背景顏色的區域
- 26. 如何更改eclipse中未定義區域的背景顏色?
- 27. 使用jQuery更改文本區域的背景顏色Spotfire
- 28. 將背景顏色更改爲視圖的有限區域 - Android
- 29. CSS - 按鈕的背景顏色不改變移動
- 30. 更改背景顏色3
檢查我編輯的答案。 – Carnal 2014-12-03 10:11:32