我正在为具有不同游戏模式的任务制作游戏。游戏是一个由24个方块组成的网格,您可以一次“翻转”两个标题以显示其值,如果它们匹配,则将它们设置为不再可交互,并且如果不匹配,则显示其值。被再次隐藏。一种游戏模式是所有图块上都带有数字,而另一种模式是我们必须将单词与图像匹配,例如,单词apple与图片匹配apple。所以我只是想知道什么是显示图块的最佳方法,因为我们必须为每种模式使用相同的布局,并且以编程方式填充它?我目前正在使用带有适配器的gridView,并使用正常的按钮和ImageButtons填充它,但显示不正确
我已经尝试通过BaseAdapter使用Gridview。
public class GridAdapter extends BaseAdapter {
private Context context;
private ArrayList items;
public GridAdapter(Context context, ArrayList resource) {
this.context = context;
this.items = resource;
}
@Override
public int getCount() {
return items.size();
}
@Override
public Object getItem(int i) {
return items.get(i);
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.grid_layout, parent, false);
view.setTag(getItem(position));
if (items.get(position) instanceof ImageButton) {
//Drawable image = (Drawable) items.get(position);
ImageButton imgBtn = view.findViewById(R.id.imageButton);
ImageButton imgBtn2 = (ImageButton) items.get(position);
imgBtn.setImageDrawable(imgBtn2.getDrawable());
imgBtn.setScaleType(ImageView.ScaleType.FIT_CENTER);
imgBtn.setImageAlpha(0);
} else {
Button btnItem = view.findViewById(R.id.button);
btnItem.setText(getItem(position).toString());
//btnItem.setTextSize(0);
btnItem.setPadding(1, 1, 1, 1);
}
return view;
}
}
http://puu.sh/E7bW9/a3641d36a2.png这是我的问题的屏幕截图。