我在对话框内使用线性布局,并且在该布局内有一些 TextView,我还想根据作为其父级的布局的“按下”状态更改颜色。他们有一个关于它们应该是什么颜色的状态列表,但似乎当布局被点击时,它下面的 View 没有给出“点击”状态。
如何让 TextView 在点击其父布局时改变颜色?
最佳答案
最简单的方法就是将事件向下传递到任何 subview 中。您可以扩展 TextView 并添加一个可以从布局的 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
}
}
然后在您的 Activity 中...
public void layoutClicked(View v){ //call this from your layout click
((MyTV)findViewById(R.id.myTV1)).doSomethingToMe();
}
关于Android:传递 "Clicked"状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9169371/