84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
怎么给一个imageview设置一个shadow 设置一个阴影
闭关修行中......
比较简单的办法,效果比较丑陋,同理,你可以用阴影图片替代画线得到好的效果 重写ImageView public class HKImageView extends ImageView { public HKImageView(Context context, AttributeSet attrs) { super(context, attrs, 0); } public HKImageView(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { Log.d("lg", "onDraw"); super.onDraw(canvas); // 画边框 Rect rect1 = getRect(canvas); Paint paint = new Paint(); paint.setColor(Color.GRAY); paint.setStyle(Paint.Style.STROKE); // 画边框 canvas.drawRect(rect1, paint); paint.setColor(Color.LTGRAY); // 画一条竖线,模拟右边的阴影 canvas.drawLine(rect1.right + 1, rect1.top + 2, rect1.right + 1, rect1.bottom + 2, paint); // 画一条横线,模拟下边的阴影 canvas.drawLine(rect1.left + 2, rect1.bottom + 1, rect1.right + 2, rect1.bottom + 1, paint); // 画一条竖线,模拟右边的阴影 canvas.drawLine(rect1.right + 2, rect1.top + 3, rect1.right + 2, rect1.bottom + 3, paint); // 画一条横线,模拟下边的阴影 canvas.drawLine(rect1.left + 3, rect1.bottom + 2, rect1.right + 3, rect1.bottom + 2, paint); } Rect getRect(Canvas canvas) { Rect rect = canvas.getClipBounds(); rect.bottom -= getPaddingBottom(); rect.right -= getPaddingRight(); rect.left += getPaddingLeft(); rect.top += getPaddingTop(); return rect; } } 使用 要给图片添加padding才有效果 imageView.setPadding(3, 3, 5, 5);
闭关修行中......