大约一个小时前,我刚刚问了一个问题,在等待答复时,我想也许我可以以不同的方式实现我想要的。我正在考虑更改图像,但如果我可以在网格视图中的完整关卡的顶部覆盖一些东西会更好,即一个小勾号图标 目前,当一个关卡完成时,我将它与 sharedpreferences 一起存储
所以我有一个 gridView 布局来显示代表级别的图像。假设对于这个例子,我有 20 个级别。当一个关卡完成时,是否可以覆盖勾号图标或以某种方式突出显示关卡图像。也许改变图像的边框?
这是我使用的图像数组
int[] imageIDs = {
R.drawable.one,
R.drawable.two,
R.drawable.three,
R.drawable.four,
R.drawable.five,
R.drawable.six
etc.......
然后我有我的代码来设置gridView中的图像。显然,两者之间还有更多代码。
public View getView(int position, View convertView, ViewGroup parent)
{
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(context);
imageView.setLayoutParams(new GridView.LayoutParams(140, 140));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(5, 5, 5, 5);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(imageIDs[position]);
return imageView;
是否可以执行上述任何操作,即使是边框方法也可以。谢谢你的帮助
当关卡打开时,我使用 switch case 来执行其他任务,并将项目字符串更改为它所代表的图像的名称。
switch(question){
case 0:
iv.setImageResource(R.drawable.one);
item = imageOne;
answer1 = "one"
break;
case 1:
iv.setImageResource(R.drawable.two);
item = imageTwo;
answer1 = "two"
break;
default:
break;
}
然后我调用该字符串来保存一个带有图像名称的布尔值
final boolean answerStatusCase = preferences.getBoolean(item, false);
final SharedPreferences.Editor editor = preferences.edit();
Button checkAnswer = (Button) findViewById(R.id.bCheckAnswer);
checkAnswer.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String yourAnswerCheck = yourAnswerReview.toString();
if (yourAnswerCheck.equals(answer1)) {
Toast.makeText(getBaseContext(), "That's correct", 2000).show();
editor.putBoolean(item, true);
editor.commit();
}else{
Toast.makeText(getBaseContext(), "That's incorrect", 2000).show();
}
}
});