2016-04-01 12 views
4

私はXamarin.Androidで新しいです、小さな問題に直面しています。Xamarin.AndroidでButton.Pressed状態を保持する方法は?

私は、クリックした後、ボタンで押された状態に滞在したい、それが私のコードです:

firstSelectButton.Click += FirstSelectButton_Click; 

private void FirstSelectButton_Click(object sender, EventArgs e) 
{ 
    firstSelectButton.Pressed = true; 
    secondSelectButton.Pressed = false 
} 

しかし、それは動作しません。私はネイティブAndroidでsetPressedのプロパティを知っていますが、Xamarinで同じものを見つけることはできませんでした。

+0

あなたは動作しませんどのような手の込んだことができます? 'Pressed'プロパティは更新されませんでしたか?ボタンのビジュアルステートは変更されませんでしたか? –

答えて

4

Buttonをクリックすると、アンドロイドは自動的に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のを使用することをお勧めしますあなたが見ることができるように。

0

Xamarinはこの setSelected

のを見てください、私はあなたが単にあなたのselector.xmlファイルでbutton.Selected =真、また設定state_selected属性を呼び出すことができると思い

関連する問題