`
zheyiw
  • 浏览: 1009043 次
  • 性别: 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点击ImageView后加边框

    在Android开发中,给ImageView添加点击后的边框效果是...以上就是关于“Android点击ImageView后加边框”这一主题的主要技术点。通过理解和应用这些知识点,开发者可以创建具有生动反馈的用户界面,提升应用的用户体验。

    Android-RCImageView自定义圆角ImageView带边框效果

    本篇文章将深入探讨如何基于Android平台创建一个名为RCImageView的自定义圆角ImageView,同时具备边框效果。这个自定义组件可以为用户提供更灵活的图像展示方式,增强应用的视觉体验。 首先,我们要了解Android中的...

    android ImageView动态设置尺寸、圆角(绝对好用)

    在Android开发中,ImageView是用于显示图像的常见组件,它广泛应用于各种场景,如加载网络图片、设置自定义尺寸和实现圆角效果等。本文将详细介绍如何在Android中动态地为ImageView设置尺寸和圆角,以及如何加载网络...

    圆形,圆角,带边框的圆形imageView

    综上所述,实现"圆形,圆角,带边框的圆形imageView,以及白色边框的圆形imageview"主要依赖于对Android Shape Drawable的理解和灵活运用,或者利用现有的库。通过自定义View或使用第三方库,开发者可以轻松地创建出...

    Android+imageview点击边框+仿京东分类页面

    1. **点击加边框效果**: 这个功能可以通过自定义ImageView类来实现。在自定义的ImageView中,可以监听点击事件(OnClickListener),在点击事件触发时改变ImageView的背景或边框属性。通常,我们会在XML布局文件中...

    android imageview点击图片磁贴效果 很炫

    在Android开发中,ImageView是用于显示单个图像的视图组件,经常被用在各种界面设计中。在标题“android imageview点击图片磁贴效果 很炫”中提到的“点击图片磁贴效果”,通常指的是当用户点击ImageView时,图片会...

    Android ImageView 宽度设定,高度自适应

    在Android开发中,ImageView是用于显示图像的常见组件。它具有多种特性,其中之一就是能够根据图像的宽高比进行自适应展示。当我们需要在布局中设置ImageView的宽度,并让其高度自适应保持原始图片的比例时,我们...

    Android-ElevationImageView-带高程阴影的Imageview

    `Android-ElevationImageView`项目是专门为Android开发人员设计的,它是一个自定义的ImageView组件,具有内置的高程阴影效果,可以让你轻松地在应用中实现类似的效果。 `ElevationImageView`的核心功能在于它能够...

    android imageview 图片缩放

    在Android开发中,ImageView是用于显示图像的常见组件。它支持多种操作,包括图片的缩放和移动。本文将深入探讨如何在Android中实现ImageView的图片缩放功能,同时结合异步加载和Activity的半透明效果,提升用户体验...

    HurleyWong#TechNote#Android中ImageView实现平铺多张图片1

    Android中ImageView实现平铺多张图片Android中实现平铺图片有两种方式:在drawable中定义平铺的Bitmap然后在ImageView中引

    android ImageView上面圆角,下面直角Demo

    在Android开发中,ImageView是用于显示图像的常见组件,它能够加载本地资源、网络资源或者通过其他方式获取的图片。在特定的设计需求下,我们可能希望ImageView的显示效果具有特殊的形状,比如上部分为圆角,下部分...

    Android ImageView图片放大到全屏显示

    在Android开发中,ImageView是用于显示图像的常见组件。它在许多用户界面设计中都扮演着重要角色,尤其是在处理图片展示的应用中。本篇将详细探讨如何利用ImageView实现图片的放大功能,特别是如何让图片全屏显示,...

    android 将Imageview生成图片后保存到本地相册的实现

    android 将Imageview 将view生成图片后保存到本地相册的实现生成图片后保存到本地相册的实现,android 将Imageview生成图片后保存到本地相册的实现 android 将Imageview生成图片后保存到本地相册的实现, 有需要的朋友...

    Android ImageView 拖拽实例

    在Android开发中,ImageView是用于显示图像的常见组件。它在许多应用中都有广泛的应用,如显示用户头像、应用图标或背景图片等。而实现ImageView的拖拽功能,可以增强用户体验,使得用户能自由调整图像的位置,这在...

    Android中使用自定义ImageView实现图片圆形遮罩效果(常和Glide搭配使用)

    Android中使用自定义ImageView实现图片圆形遮罩效果(常和Glide搭配使用),详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/63834235

    android ImageView网络图片加载、动态设置尺寸、圆角(绝对好用)

    在Android开发中,ImageView是用于显示图像的常见组件,它广泛应用于各种场景,如用户头像、应用图标等。在实际应用中,我们不仅需要显示本地资源中的图像,还经常需要从网络上加载图片,同时可能还需要根据界面需求...

    Android imageview添加水印

    `Android imageview添加水印`这个话题就是关于如何在ImageView组件上动态地添加水印。通常,我们可以通过自定义ImageView控件来实现这一功能,这样做有以下几个好处: 1. **提高代码复用性**:自定义控件可以封装...

    android自定义ImageView实现旋转动画

    首先,我们需要创建一个新的类,继承自Android的内置ImageView类。这个新类将作为我们自定义的旋转动画ImageView。在Java代码中,可以这样定义: ```java public class RotateImageView extends ImageView { // .....

    Android ImageView手势缩放 图片详情页

    在Android开发中,ImageView是用于显示图像的基本组件。在新闻应用或者任何涉及到图片展示的场景中,用户往往期望能够对图片进行手势操作,比如缩放和滑动,以查看图片的更多细节。这就是"Android ImageView手势缩放...

Global site tag (gtag.js) - Google Analytics