我有一個線性佈局,並且實現了onClickListener。 現在我希望當它被點擊時它的背景顏色變成白色並保持這種狀態直到點擊其他東西。當點擊其他東西時,我希望它具有透明背景 如何實現此目的? 在此先感謝如何爲線性佈局提供兩種不同的背景
回答
在您的可繪製文件夾中創建兩個可繪製圖像。點擊時,您可以更改佈局的背景。 下面的代碼更改背景:
LinearLayout layout=(LinearLayout) findViewById(R.id.linearlayout);
layout.setBackgroundResource(getResources().getDrawable(R.drawable.drawable_name));
我想你也可以只使用一個選擇作爲背景。您可以利用「選定」或「聚焦」狀態在透明和白色之間切換背景。它會是這個樣子:
<LinearLayout
...
android:background="@drawable/bg_list_selector"
...
</LinearLayout>
然後bg_list_selector.xml
在您繪製的文件夾:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@android:color/transparent" />
<!-- or -->
<item android:state_selected="true" android:drawable="@android:color/transparent" />
<item android:drawable="@android:color/white" />
</selector>
具有與StateListDrawable的不同選項的戲,我會說。
我試過這個&它確實工作,但只是暫時的。我的意思是當點擊它時背景發生變化,但不是永久性的。 – Ankit 2012-02-20 09:42:03
定義'永久'。我的猜測是,在你的情況下,'selected'狀態更有趣,但它確實需要你手動設置View的狀態。例如,在['onListItemClick'](http://developer.android.com/reference/android/app/ListActivity.html#onListItemClick%28android.widget.ListView,%20android.view.View,%20int,%20long %29),像'v.setSelected(true)'做類似的事情。 – 2012-02-20 10:07:14
- 1. 兩種佈局,一種在背景中
- 2. 如何爲兩種風景定義不同的佈局?
- 3. 兩種顏色的Android佈局背景
- 4. Android線性佈局背景透明度
- 5. 線性佈局背景圖像集alpha
- 6. 組線性佈局背景動態
- 7. 模糊線性佈局背景
- 8. 一種佈局作爲其他佈局的背景
- 9. 基於定時器(線性佈局)的動態背景,如何?
- 10. 作爲背景的Android線性佈局形狀
- 11. 如何根據位置變換線性佈局背景
- 12. 線性佈局的背景圖像尺寸不是很好
- 13. 如何僅爲背景提供類名?
- 14. 如何爲ScrollContentPresenter提供背景色?
- 15. 如何爲GtkEventBox提供透明背景?
- 16. QRadioButtons在兩種不同的佈局
- 17. 無法爲線性佈局設置背景資源
- 18. 將線性佈局背景分解成不同顏色的部分
- 19. CSS - 這種佈局策略的提示?三個背景層
- 20. 更改線程中的佈局背景
- 21. 如何繪製兩個線性佈局
- 22. 如何在肖像和風景中提供兩種不同的視圖?
- 23. 途徑上如何佈局跨越兩個不同的背景圖片
- 24. 如何在Android中設置不同類的背景/佈局
- 25. 從兩種佈局問題(在IE9白色背景和搞砸佈局)
- 26. 如何以編程方式爲線性佈局設置背景顏色?
- 27. 如何將XML佈局背景屬性值轉換爲代碼?
- 28. 如何獲得線性佈局的邊框,而不會丟失佈局的當前背景
- 29. 如何提供適用於不同佈局的比例自動佈局值?
- 30. android margin爲不同背景顏色的相對佈局
我怎樣才能做到這一點使用狀態列表可繪製XML。沒有單獨的圖像。我只是想改變背景 – Ankit 2012-02-20 07:30:11