返回顶部
首页 > 资讯 > 精选 >在Android项目中使用ImageView实现一个阴影效果
  • 155
分享到

在Android项目中使用ImageView实现一个阴影效果

imageviewandroidage 2023-05-31 12:05:09 155人浏览 薄情痞子
摘要

在Android项目中使用ImageView实现一个阴影效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。具体内容如下import android.app.Ac

Android项目中使用ImageView实现一个阴影效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

具体内容如下

import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuff.Mode; import android.graphics.PorterDuffXfermode; import android.graphics.Rect; import android.graphics.RectF; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.View; public class MyCanvasActivity extends Activity {    @Override  public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(new ImageEffect(this));  }  class ImageEffect extends View{   Paint paint;   public ImageEffect(Context context){    super(context);    paint= new Paint(); //初始化画笔,为后面阴影效果使用。     paint.setAntiAlias(true);//去除锯齿。     paint.setShadowLayer(5f, 5.0f, 5.0f, Color.BLACK); //设置阴影层,这是关键。     paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));   }   public void onDraw(Canvas canvas){    super.onDraw(canvas);    int posX = 20;    int posY = 50;    int PicWidth,PicHeight;   Drawable drawable = getResources().getDrawable(R.drawable.pic);   Drawable dbe = getResources().getDrawable(R.drawable.pic).mutate();//如果不调用mutate方法,则原图也会被改变,因为调用的资源是同一个,所有对象是共享状态的。    Drawable drawTest = getResources().getDrawable(R.drawable.pic);   Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.pic);   PicWidth = drawable.getIntrinsicWidth();   PicHeight = drawable.getIntrinsicHeight();   drawTest.setBounds(posX, (2 * posY) + PicHeight, posX + PicWidth, (2 * posY) + 2 * PicHeight );   drawable.setBounds(posX,posY,posX+PicWidth,posY+PicHeight);   dbe.setBounds(0, 0, PicWidth, PicHeight);   canvas.drawColor(Color.WHITE);//设置画布颜色    canvas.save(Canvas.MATRIX_SAVE_FLAG);   dbe.setColorFilter(0x7f000000,PorterDuff.Mode.SRC_IN);   canvas.translate(posX + (int)(0.9 * PicWidth/2), posY + PicHeight/2);//图像平移为了刚好在原图后形成影子效果。    canvas.skew(-0.9F, 0.0F);//图像倾斜效果。    canvas.scale(1.0f, 0.5f);//图像(其实是画布)缩放,Y方向缩小为1/2。    dbe.draw(canvas);//此处为画原图像影子效果图,比原图先画,则会在下层。    drawable.clearColorFilter();   canvas.restore();   canvas.save(Canvas.MATRIX_SAVE_FLAG);   drawable.draw(canvas);//此处为画原图像,由于canvas有层次效果,因此会盖在影子之上。    canvas.restore();   //默认无效果原图    canvas.save(Canvas.MATRIX_SAVE_FLAG);   drawTest.draw(canvas);   canvas.restore();   //图片阴影效果    Rect rect = new Rect(2*posX + PicWidth + 3, 2*posY + PicHeight + 3, 2*posX + 2*PicWidth - 2, 2*posY + 2*PicHeight - 2);   //由于图片的实际尺寸比显示出来的图像要大一些,因此需要适当更改下大小,以达到较好的效果    RectF rectF = new RectF(rect);   canvas.drawRoundRect(rectF, 10f, 10f, paint);//在原有矩形基础上,画成圆角矩形,同时带有阴影层。    canvas.drawBitmap(bmp, 2*posX + PicWidth, 2*posY + PicHeight, null);//画上原图。    canvas.restore();   }  } 

--结束END--

本文标题: 在Android项目中使用ImageView实现一个阴影效果

本文链接: https://lsjlt.com/news/225755.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在Android项目中使用ImageView实现一个阴影效果
    在Android项目中使用ImageView实现一个阴影效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。具体内容如下import android.app.Ac...
    99+
    2023-05-31
    imageview android age
  • Android实现ImageView阴影和图层效果
    本文实例为大家分享了ImageView阴影和图层效果的实现代码,供大家参考,具体内容如下 import android.app.Activity; import andro...
    99+
    2022-06-06
    Android
  • 在Android项目中怎么自定义阴影效果
    在Android项目中怎么自定义阴影效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Android 自定义阴影效果详解及实例Android5.X中,Google为其增加了...
    99+
    2023-05-31
    android roi 目中
  • css中怎么实现一个阴影效果
    本篇文章为大家展示了css中怎么实现一个阴影效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。代码如下:.mydiv{ width:250px;height:aut...
    99+
    2024-04-02
  • 使用CSS怎么实现一个翘边阴影效果
    使用CSS怎么实现一个翘边阴影效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。HTML代码<ul class="box"&...
    99+
    2023-06-08
  • Android项目中项目实现一个控件悬浮效果
    今天就跟大家聊聊有关Android项目中项目实现一个控件悬浮效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。效果图:新建一个Android项目,取名MeiTuanDemo,先看立即...
    99+
    2023-05-31
    android roi 目中
  • 如何在Android项目中使用ImageView
    这期内容当中小编将会给大家带来有关如何在Android项目中使用ImageView,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先创建一个叫MatrixImageView的类去继承ImageView,然...
    99+
    2023-05-31
    android age imageview
  • 怎么使用CSS3实现阴影效果
    这篇文章给大家分享的是有关怎么使用CSS3实现阴影效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、这是html 简单的有一个标签或者盒子都可以代码如下:<div cl...
    99+
    2024-04-02
  • 怎么在CSS中实现文本阴影与元素阴影效果
    怎么在CSS中实现文本阴影与元素阴影效果?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。文本阴影介绍在CSS中使用text-shadow属性设置文本阴影,该属性一共有4个属性值如...
    99+
    2023-06-08
  • Android中listview和imageview实现条目单选效果
    前段时间在项目开发中,有listview实现单选和多选的效果,特别是listview的单选效果,一开始项目比较紧,自己考虑的是用listview和radionbutton实现的...
    99+
    2022-06-06
    listview Android
  • 在mybatis项目中使用oracle如何实现一个分页效果
    在mybatis项目中使用oracle如何实现一个分页效果?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先当我们需要通过xml格式处理sql语句时,经常会用到< ,&l...
    99+
    2023-05-31
    mybatis oracle 分页
  • 在Android中使用TextView实现一个跑马灯效果
    本篇文章为大家展示了在Android中使用TextView实现一个跑马灯效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 条件:android:ellipsize=”marquee”Te...
    99+
    2023-05-31
    textview android roi
  • html5中怎么利用canvas实现阴影效果
    这篇文章将为大家详细讲解有关html5中怎么利用canvas实现阴影效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。代码如下:<!DOCTYPE h...
    99+
    2024-04-02
  • 如何在Python项目中利用tkinter实现一个时钟效果
    这篇文章主要介绍了如何在Python项目中利用tkinter实现一个时钟效果,此处给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:# coding:utf-8from tkinter&n...
    99+
    2023-06-06
  • 在Android项目中使用view实现一个点击事件
    这篇文章将为大家详细讲解有关在Android项目中使用view实现一个点击事件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Android 自定义view模板并实现点击事件的回调先看效果图:...
    99+
    2023-05-31
    android view roi
  • 在Android项目中使用View实现一个侧滑菜单
    在Android项目中使用View实现一个侧滑菜单?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、概述  在App中,经常会出现侧滑菜单,侧滑滑出View等效果,虽然说And...
    99+
    2023-05-31
    android view roi
  • CSS中怎么使用text-shadow实现文字阴影效果
    这篇文章给大家介绍CSS中怎么使用text-shadow实现文字阴影效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。text-shadow语法text-shadow : h...
    99+
    2024-04-02
  • 怎么使用Html5、CSS实现文字阴影效果
    小编给大家分享一下怎么使用Html5、CSS实现文字阴影效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前两天有一个学html5前端小美女问我一个有关文字阴影的...
    99+
    2023-06-09
  • 怎么使用CSS实现比普通阴影更加立体的阴影效果
    这篇文章主要介绍“怎么使用CSS实现比普通阴影更加立体的阴影效果”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用CSS实现比普通阴影更加立体的阴影效果”文章能...
    99+
    2024-04-02
  • 详解Android Material设计中阴影效果的实现方法
    View可以投下的阴影,一个View的elevation值决定了它的阴影的大小和绘制的顺序。可以设置一个视图的elevation,在布局中使用属性:android:elevat...
    99+
    2022-06-06
    方法 material Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作