C# Android在按下并释放时更改图像按钮,(按钮点击错误不再工作)
所以我试着在按下并释放时改变imageButton的图像,它可以工作。但是在我实现代码后,Button.Click函数将不再执行/触发,下面是我的代码C# Android在按下并释放时更改图像按钮,(按钮点击错误不再工作),c#,xamarin,xamarin.android,C#,Xamarin,Xamarin.android,所以我试着在按下并释放时改变imageButton的图像,它可以工作。但是在我实现代码后,Button.Click函数将不再执行/触发,下面是我的代码 ImageButton btnNewGame; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); bt
ImageButton btnNewGame;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
btnNewGame = FindViewById<ImageButton>(Resource.Id.btnNewGame);
btnNewGame.Click += BtnNewGame_Click;
btnNewGame.Touch += (object sender, View.TouchEventArgs e) =>
{
if (e.Event.Action == MotionEventActions.Down)
{
btnNewGame.SetImageResource(Resource.Drawable.Button_New_Game_Pressed);
}
else if (e.Event.Action == MotionEventActions.Up)
{
btnNewGame.SetImageResource(Android.Resource.Drawable.IcMenuGallery);
}
};
private void BtnNewGame_Click(object sender, EventArgs e)
{
Intent nextActivity = new Intent(this, typeof(NextPage));
StartActivity(nextActivity);
}
ImageButton btnewgame;
创建时受保护的覆盖无效(捆绑包)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
btnNewGame=findviewbyd(Resource.Id.btnNewGame);
btnNewGame.Click+=btnNewGame\u Click;
btnNewGame.Touch+=(对象发送者,View.TouchEventArgs e)=>
{
if(e.Event.Action==MotionEventActions.Down)
{
btnNewGame.SetImageResource(Resource.Drawable.Button\u New\u Game\u Pressed);
}
else if(e.Event.Action==MotionEventActions.Up)
{
SetImageResource(Android.Resource.Drawable.IcMenuGallery);
}
};
私有void BtnNewGame_单击(对象发送者,事件参数e)
{
意向nextActivity=新意向(此,类型为(NextPage));
StartTactivity(NextTactivity);
}
有人能告诉我为什么吗
谢谢!您可以使用选择器来实现这一点 在Drawables目录中创建一个XML文件 imagebutton_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_enabled="false"
android:drawable="@drawable/ic_assignment_returned_black_24dp" />
<item
android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/ic_assignment_turned_in_black_24dp" />
<item
android:state_focused="true"
android:state_enabled="true"
android:drawable="@drawable/ic_assignment_returned_black_24dp" />
<item
android:state_enabled="true"
android:drawable="@drawable/ic_assignment_returned_black_24dp" />
</selector>
这样,您就可以自由地删除代码上的OnTouch
实现,而单击
事件将继续工作
希望这有帮助!您可以使用选择器来完成这一点 在Drawables目录中创建一个XML文件 imagebutton_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_enabled="false"
android:drawable="@drawable/ic_assignment_returned_black_24dp" />
<item
android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/ic_assignment_turned_in_black_24dp" />
<item
android:state_focused="true"
android:state_enabled="true"
android:drawable="@drawable/ic_assignment_returned_black_24dp" />
<item
android:state_enabled="true"
android:drawable="@drawable/ic_assignment_returned_black_24dp" />
</selector>
这样,您就可以自由地删除代码上的OnTouch
实现,而单击
事件将继续工作
希望这能有所帮助!非常感谢!我能问一下什么是启用状态、按下状态和聚焦状态吗?谢谢!非常感谢!我能问一下启用状态、按下状态和聚焦状态是什么吗?谢谢!