我有一个布局,其中有两个孩子。我的目标是将整个布局功能作为一个按钮。每个孩子都有不同的颜色来显示按下状态。当我单独按下它们时,它们会很好地显示它们的按下状态。但是,当按下一个时,我希望它们都显示按下状态。
我的第一个想法是使用 duplicateParentState,但父级似乎从未处于按下状态,因为视图填充了布局。我的下一个想法是使用 AddStatesFromChildren,但这所做的只是让父显示被按下,而不是孩子。最后我尝试使用两者,但这导致了错误。
如何让兄弟视图共享按下状态?
我有一个布局,其中有两个孩子。我的目标是将整个布局功能作为一个按钮。每个孩子都有不同的颜色来显示按下状态。当我单独按下它们时,它们会很好地显示它们的按下状态。但是,当按下一个时,我希望它们都显示按下状态。
我的第一个想法是使用 duplicateParentState,但父级似乎从未处于按下状态,因为视图填充了布局。我的下一个想法是使用 AddStatesFromChildren,但这所做的只是让父显示被按下,而不是孩子。最后我尝试使用两者,但这导致了错误。
如何让兄弟视图共享按下状态?
我只晚了 4 年,但你很接近:
android:duplicateParentState="true"
在每个孩子身上。奇迹般有效!
您可能会执行以下操作:
Button button = new Button(this);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Button otherButton = (Button) findViewById(R.id.other_button);
otherButton.setPressed(true);
}
})
但是,当然,可以根据需要调用按钮。