使用ImageButtons和Button的网格

时间:2019-08-19 21:20:49

标签: android android-studio android-layout grid-layout

我正在为具有不同游戏模式的任务制作游戏。游戏是一个由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这是我的问题的屏幕截图。

0 个答案:

没有答案