1
我在對話框中使用線性佈局,並且在該佈局中有一些TextView,我還想根據佈局的「按下」狀態更改它們的父級。他們有一個應該是什麼顏色的狀態列表,但是看起來當點擊佈局時,它下面的視圖沒有被賦予「單擊」狀態。Android:傳遞「點擊」狀態?
如何讓TextView在其父級佈局被點擊時改變顏色?
我在對話框中使用線性佈局,並且在該佈局中有一些TextView,我還想根據佈局的「按下」狀態更改它們的父級。他們有一個應該是什麼顏色的狀態列表,但是看起來當點擊佈局時,它下面的視圖沒有被賦予「單擊」狀態。Android:傳遞「點擊」狀態?
如何讓TextView在其父級佈局被點擊時改變顏色?
最簡單的方法就是將事件傳遞給子視圖。您可以擴展TextView並添加一個可以從Layout的onclick處理程序中調用的方法。
class MyTV extends TextView{
public MyTV(Context c){
//constructor gets context in case you want to make instances from code rather than XML
}
public doSomethingToMe(){
//do stuff to this View from outside
}
}
然後在活動...
public void layoutClicked(View v){ //call this from your layout click
((MyTV)findViewById(R.id.myTV1)).doSomethingToMe();
}
我如何才能知道當按壓事件是這樣做我可以改變顏色了? – Flynn 2012-02-07 00:37:23
像這樣:http://developer.android.com/reference/android/view/View.OnTouchListener.html與其傾聽onClick,不如聽onTouch並對DOWN和UP事件做出反應。您將無法通過XML完成此操作,您需要在代碼中創建偵聽器並將其附加到您的佈局。 – 2012-02-07 00:58:17