我是Xamarin.Android的新人,遇到了小问题。
我想在点击后按下按钮状态,这是我的代码:
firstSelectButton.Click += FirstSelectButton_Click;
private void FirstSelectButton_Click(object sender, EventArgs e)
{
firstSelectButton.Pressed = true;
secondSelectButton.Pressed = false
}
但它不起作用。我知道原生Android中的setPressed
属性,但在Xamarin中找不到相同的属性。
答案 0 :(得分:4)
单击Button
时,android会自动重置Pressed
状态。
您可以使用Touch
事件解决此问题,例如:
Button button = FindViewById<Button> (Resource.Id.myButton);
button.Touch += (s, e) => {
if (e.Event.Action == Android.Views.MotionEventActions.Down) {
e.Handled = true;
return;
}
if (e.Event.Action == Android.Views.MotionEventActions.Up) {
e.Handled = false;
}
button.Pressed = !button.Pressed;
e.Handled = true;
};
正如您所看到的,代码有点混乱,因此我建议您使用ToggleButton
代替Button
。
答案 1 :(得分:0)
看看这个 setSelected
在Xamarin中,我认为你只需调用button.Selected = true,也可以在selector.xml文件中设置state_selected属性