`
zheyiw
  • 浏览: 1030375 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

android 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);

分享到:
评论

相关推荐

    Android 给控件添加边框阴影效果

    "Android 给控件添加边框阴影效果" Android 给控件添加边框阴影效果是 Android 平台中常用的 UI 效果之一,通过设置阴影和背景色,可以使控件看起来更加立体、丰富。下面将详细介绍 Android 给控件添加边框阴影效果...

    Android编程使用自定义shape实现shadow阴影效果的方法

    阴影层(SHADOW LAYER)的`<shape>`设置了深色透明度(#66000000,即60%不透明的黑色),并调整了位置(通过`android:left`和`android:top`属性),模拟了阴影效果。同时,`<corners>`标签用于设置圆角,让阴影看...

    Android 图片阴影效果和影子效果源码.zip

    Android社区还提供了许多第三方库,如`android-shape-imageview`和`android-gradient-shadow`,它们简化了阴影效果的实现。 总之,Android为开发者提供了多种方式来实现图片阴影和影子效果,可以根据项目需求和...

    AndroidAvatarView:Android ImageView显示头像

    演示版相依性compile " com.liangfeizc:avatarview:0.0.1@aar "属性border_width 边框颜色shadow_width shadow_color用法< com .liangfeizc.avatarview.AvatarView android : src = " @drawable/your_avatar_...

    Android 圆形图片 CircleImageView

    此外,CircleImageView还支持其他自定义属性,如圆角半径(civ_circle_radius)和阴影效果(civ_shadow_radius、civ_shadow_offset_x、civ_shadow_offset_y、civ_shadow_color)。这些属性可以让你更灵活地调整圆形...

    CircularImageView:以最简单的方式在Android中创建圆形ImageView

    在`Android`中,我们通常使用`ImageView`来展示图片,但是默认情况下,`ImageView`会保持图片的原始比例显示,无法直接将其变为圆形。为了实现圆形效果,开发者需要自定义视图并编写额外的代码来裁剪图片的矩形边缘...

    可以进行缩放的相册效果

    可以使用CSS来定义相册的背景、边框、阴影、过渡效果等,以提高用户体验。例如,可以使用box-shadow属性为相册添加立体感,用border-radius制作圆角效果,使用background-image和background-size属性为相册添加...

    圆形图片库 CircleImageView

    例如,可能有属性用于设置边框宽度、边框颜色,或者是否开启阴影效果等。通过在XML布局中声明这些属性,开发者可以在不编写一行代码的情况下改变`CircleImageView`的外观。 在使用`CircleImageView`时,我们首先...

    RWidgetHelper:Android UI 快速开发,专治原生控件各种不服

    RWidgetHelper欢迎使用 RWidgetHelper宗旨:专治原生控件各种不服目标:Android UI 快速开发说明Android UI 开发常用:圆角,边框,Gradient背景渐变,控件State各个状态UI样式,阴影,水波纹普通解决方案缺点:代码...

Global site tag (gtag.js) - Google Analytics