我按照这里给出的答案使用LayerDrawable堆叠在一起的图像阵列。(在单个图像视图中显示多个图像)。我的图片尺寸是38x38。
这是我的代码:
Drawable[] layers = new Drawable[2];
layers[0]=cActivity.getResources().getDrawable(R.drawable.white_pawn);
layers[1]=cActivity.getResources().getDrawable(R.drawable.black_pawn);
LayerDrawable pawns = new LayerDrawable(layers);
pawns.setLayerInset(0, 0, 0, 42, 0);
pawns.setLayerInset(1, 42, 0, 42, 0);
((ImageView)v.findViewById(R.id.baseImage)).setImageDrawable(pawns);
但事实就是这样:层错放了
有什么帮助吗?
与您所指问题的唯一区别在于,您没有设置可绘制对象的重力。IIRC Drawables默认情况下会尝试填充图层。
layers[0].setGravity(Gravity.LEFT);
layers[1].setGravity(Gravity.LEFT);