在 ImageView 中逐层显示图像不起作用
Display images layer by layer in ImageView not works
在我的应用程序中,我有一组绘图。我必须逐层显示它。为此,我正在使用 LayerDrawble。我是这样用的
ImageView
image = (ImageView)findViewById(R.id.image);
Resources r = getResources();
Drawable[] capas = new Drawable[3];
capas[0] = r.getDrawable(R.drawable.icon);
capas[1] = r.getDrawable(R.drawable.icon2);
capas[2] = r.getDrawable(R.drawable.icon3);
LayerDrawable capasDrawable = new LayerDrawable(capas);
image.setImageDrawable(capasDrawable);
但它只显示最上面的图像。这意味着它不会逐层显示整个 3 个图像。
如何逐层显示
更新
我需要这样的视图,第一个和最后一个图像在图层中对齐。
我已经完成了 jason 的回答。图像逐层显示。但它的底部看起来有些奇怪。请看屏幕截图。我该如何让它正确
我相信你想使用 setLayerInset。
setLayerInset(图层, leftOffset, topOffset, rightOffset, bottomOffset)
我不确定定位,你必须调整一下。
ImageView image = (ImageView)findViewById(R.id.image);
Resources r = getResources();
Drawable[] capas = new Drawable[3];
capas[0] = r.getDrawable(R.drawable.icon);
capas[1] = r.getDrawable(R.drawable.icon2);
capas[2] = r.getDrawable(R.drawable.icon3);
LayerDrawable capasDrawable = new LayerDrawable(capas);
// Set bottom layer inset
capasDrawable.setLayerInset(0, 5, 0, 0, 5);
// Set middle layer inset
capasDrawable.setLayerInset(1, 10, 0, 0, 10);
// Set top layer inset
capasDrawable.setLayerInset(2, 15, 0, 0, 15);
image.setImageDrawable(capasDrawable);
在我的应用程序中,我有一组绘图。我必须逐层显示它。为此,我正在使用 LayerDrawble。我是这样用的
ImageView
image = (ImageView)findViewById(R.id.image);
Resources r = getResources();
Drawable[] capas = new Drawable[3];
capas[0] = r.getDrawable(R.drawable.icon);
capas[1] = r.getDrawable(R.drawable.icon2);
capas[2] = r.getDrawable(R.drawable.icon3);
LayerDrawable capasDrawable = new LayerDrawable(capas);
image.setImageDrawable(capasDrawable);
但它只显示最上面的图像。这意味着它不会逐层显示整个 3 个图像。
如何逐层显示
更新 我需要这样的视图,第一个和最后一个图像在图层中对齐。
我已经完成了 jason 的回答。图像逐层显示。但它的底部看起来有些奇怪。请看屏幕截图。我该如何让它正确
我相信你想使用 setLayerInset。
setLayerInset(图层, leftOffset, topOffset, rightOffset, bottomOffset)
我不确定定位,你必须调整一下。
ImageView image = (ImageView)findViewById(R.id.image);
Resources r = getResources();
Drawable[] capas = new Drawable[3];
capas[0] = r.getDrawable(R.drawable.icon);
capas[1] = r.getDrawable(R.drawable.icon2);
capas[2] = r.getDrawable(R.drawable.icon3);
LayerDrawable capasDrawable = new LayerDrawable(capas);
// Set bottom layer inset
capasDrawable.setLayerInset(0, 5, 0, 0, 5);
// Set middle layer inset
capasDrawable.setLayerInset(1, 10, 0, 0, 10);
// Set top layer inset
capasDrawable.setLayerInset(2, 15, 0, 0, 15);
image.setImageDrawable(capasDrawable);