4

我有一个布局,其中有两个孩子。我的目标是将整个布局功能作为一个按钮。每个孩子都有不同的颜色来显示按下状态。当我单独按下它们时,它们会很好地显示它们的按下状态。但是,当按下一个时,我希望它们显示按下状态。

我的第一个想法是使用 duplicateParentState,但父级似乎从未处于按下状态,因为视图填充了布局。我的下一个想法是使用 AddStatesFromChildren,但这所做的只是让父显示被按下,而不是孩子。最后我尝试使用两者,但这导致了错误。

如何让兄弟视图共享按下状态?

4

2 回答 2

1

我只晚了 4 年,但你很接近:

  • 将它们都设置在父布局中
  • 在父级上设置你的点击监听器
  • 然后设置android:duplicateParentState="true"在每个孩子身上。

奇迹般有效!

于 2016-04-20T23:11:12.180 回答
0

您可能会执行以下操作:

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);

    }
})

但是,当然,可以根据需要调用按钮。

于 2012-07-21T18:58:44.867 回答