Android Studio 3.0 - 如何制作适合的切换图像
Android Studio 3.0 - How to make a toggleimage that fit
我可能会问一个基本问题,但老实说,我没有真正的开发或代码知识。我被要求制作一些基本应用程序的原型,应该主要是屏幕上的按钮,可激活或不可激活。
我一直在 Android Studio 3.0 上对此进行编码,我(几乎)设法将 PNG 文件放在屏幕上,使其看起来像一个按钮。当我按下它时,当然什么也没有发生,所以我到处搜索如何在按下时改变它这有效
casedanger1.setOnTouchListener(new View.OnTouchListener(){
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN :
casedanger1.setImageResource(R.drawable.casedanger1slct);
break;
case MotionEvent.ACTION_UP :
casedanger1.setImageResource(R.drawable.casedanger1);
break;
}
return false;
}
});
但是当我尝试再次禁用该按钮时,它不会恢复为标准图像 (casedanger1)
我该如何进行?我一直在寻找没有真正解决方案的日子。我试着把它变成一个切换按钮,它可以工作,但会使图像变大,从而被裁剪。
有什么有用的提示吗?我真的很绝望,这不是我熟悉的东西。
谢谢
-普利斯金
我认为你很接近。试试这个
casedanger1.setOnTouchListener(new View.OnTouchListener(){
// track if the image is selected or not
boolean isSelected = false;
public boolean onTouch(View v, MotionEvent event) {
if(isSelected) {
casedanger1.setImageResource(R.drawable.casedanger1slct);
} else {
casedanger1.setImageResource(R.drawable.casedanger1);
}
// toggle the boolean
isSelected = !isSelected;
return false;
}
});
我可能会问一个基本问题,但老实说,我没有真正的开发或代码知识。我被要求制作一些基本应用程序的原型,应该主要是屏幕上的按钮,可激活或不可激活。
我一直在 Android Studio 3.0 上对此进行编码,我(几乎)设法将 PNG 文件放在屏幕上,使其看起来像一个按钮。当我按下它时,当然什么也没有发生,所以我到处搜索如何在按下时改变它这有效
casedanger1.setOnTouchListener(new View.OnTouchListener(){
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN :
casedanger1.setImageResource(R.drawable.casedanger1slct);
break;
case MotionEvent.ACTION_UP :
casedanger1.setImageResource(R.drawable.casedanger1);
break;
}
return false;
}
});
但是当我尝试再次禁用该按钮时,它不会恢复为标准图像 (casedanger1)
我该如何进行?我一直在寻找没有真正解决方案的日子。我试着把它变成一个切换按钮,它可以工作,但会使图像变大,从而被裁剪。
有什么有用的提示吗?我真的很绝望,这不是我熟悉的东西。
谢谢 -普利斯金
我认为你很接近。试试这个
casedanger1.setOnTouchListener(new View.OnTouchListener(){
// track if the image is selected or not
boolean isSelected = false;
public boolean onTouch(View v, MotionEvent event) {
if(isSelected) {
casedanger1.setImageResource(R.drawable.casedanger1slct);
} else {
casedanger1.setImageResource(R.drawable.casedanger1);
}
// toggle the boolean
isSelected = !isSelected;
return false;
}
});