比较简单的办法,效果比较丑陋,同理,你可以用阴影图片替代画线得到好的效果
重写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);
分享到:
相关推荐
"Android 给控件添加边框阴影效果" Android 给控件添加边框阴影效果是 Android 平台中常用的 UI 效果之一,通过设置阴影和背景色,可以使控件看起来更加立体、丰富。下面将详细介绍 Android 给控件添加边框阴影效果...
阴影层(SHADOW LAYER)的`<shape>`设置了深色透明度(#66000000,即60%不透明的黑色),并调整了位置(通过`android:left`和`android:top`属性),模拟了阴影效果。同时,`<corners>`标签用于设置圆角,让阴影看...
Android社区还提供了许多第三方库,如`android-shape-imageview`和`android-gradient-shadow`,它们简化了阴影效果的实现。 总之,Android为开发者提供了多种方式来实现图片阴影和影子效果,可以根据项目需求和...
演示版相依性compile " com.liangfeizc:avatarview:0.0.1@aar "属性border_width 边框颜色shadow_width shadow_color用法< com .liangfeizc.avatarview.AvatarView android : src = " @drawable/your_avatar_...
此外,CircleImageView还支持其他自定义属性,如圆角半径(civ_circle_radius)和阴影效果(civ_shadow_radius、civ_shadow_offset_x、civ_shadow_offset_y、civ_shadow_color)。这些属性可以让你更灵活地调整圆形...
在`Android`中,我们通常使用`ImageView`来展示图片,但是默认情况下,`ImageView`会保持图片的原始比例显示,无法直接将其变为圆形。为了实现圆形效果,开发者需要自定义视图并编写额外的代码来裁剪图片的矩形边缘...
可以使用CSS来定义相册的背景、边框、阴影、过渡效果等,以提高用户体验。例如,可以使用box-shadow属性为相册添加立体感,用border-radius制作圆角效果,使用background-image和background-size属性为相册添加...
例如,可能有属性用于设置边框宽度、边框颜色,或者是否开启阴影效果等。通过在XML布局中声明这些属性,开发者可以在不编写一行代码的情况下改变`CircleImageView`的外观。 在使用`CircleImageView`时,我们首先...
RWidgetHelper欢迎使用 RWidgetHelper宗旨:专治原生控件各种不服目标:Android UI 快速开发说明Android UI 开发常用:圆角,边框,Gradient背景渐变,控件State各个状态UI样式,阴影,水波纹普通解决方案缺点:代码...