实现图片渐变透明的轮播效果(欢迎界面)
来源:互联网 发布:达内软件培训学校 编辑:程序博客网 时间:2024/06/05 18:06
package com.example.androidtest;import android.os.Bundle;import android.app.Activity;import android.view.Menu;public class MainActivity extends Activity {private WelcomeView wv = null; @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);wv = new WelcomeView(this);setContentView(wv);}}
package com.example.androidtest;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.view.SurfaceHolder;import android.view.SurfaceView;/** * 欢迎界面 * @author Administrator * 实现图片渐变透明的轮播效果 */public class WelcomeView extends SurfaceView implements SurfaceHolder.Callback{private MainActivity mactivity;private Paint paint;//画笔private Bitmap[] logos = new Bitmap[2];//图片数组private Bitmap curLogo = null;//当前播放的图片private int currentAlpha=0; //当前的不透明值private int screenWidth=480; //屏幕宽度private int screenHeight=320; //屏幕高度int currentX; //图片位置int currentY;public WelcomeView(MainActivity context) {super(context);mactivity = context;this.getHolder().addCallback(this); //设置生命周期回调接口的实现者//第一步,创建和设置画笔paint = new Paint();//创建画笔paint.setAntiAlias(true);//抗锯齿//第二步,设置要绘画的图片logos[0] = BitmapFactory.decodeResource(mactivity.getResources(), R.drawable.baina);//工厂模式制作图片logos[1] = BitmapFactory.decodeResource(mactivity.getResources(), R.drawable.bnkjs);}public void onDraw(Canvas canvas){//绘制黑填充矩形清背景paint.setColor(Color.BLACK);//设置画笔颜色paint.setAlpha(255);//设置不透明度为255paint.setAlpha(currentAlpha);canvas.drawRect(0, 0, screenWidth, screenHeight, paint);canvas.drawBitmap(curLogo, currentX, currentY, paint);}@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {screenWidth=width;//根据屏幕大小设置screenHeight = height;}@Overridepublic void surfaceCreated(SurfaceHolder holder) { //创建时被调用new Thread(){public void run() {SurfaceHolder myholder=WelcomeView.this.getHolder();//获取回调接口for (Bitmap bm:logos) {curLogo = bm;currentX=screenWidth/2-bm.getWidth()/2;//图片位置currentY=screenHeight/2-bm.getHeight()/2;for (int i = 255; i>-10;i=i-10) {Canvas canvas = myholder.lockCanvas();//获取画布if(i<0) i=0;//如果当前不透明度小于零,将不透明度置为零currentAlpha = i;synchronized (myholder) {onDraw(canvas);//进行绘制绘制}if(canvas!= null){//如果当前画布不为空myholder.unlockCanvasAndPost(canvas);//解锁画布}}}};}.start();}public void surfaceDestroyed(SurfaceHolder holder) {}}
0 0
- 实现图片渐变透明的轮播效果(欢迎界面)
- 图片轮播效果的实现
- winForm欢迎界面,渐变效果
- C# 实现渐变透明图片
- TouchSlide (图片轮播的效果)
- navigationBar 的渐变透明效果
- 实现一个引导页的透明渐变效果
- 基于JQuery的实现图片轮播效果(焦点图)
- JQuery实现banner图片的轮播效果
- Android图片轮播效果的几种实现方法
- UIScrollView,UIPageControl,UIImageView 实现图片轮播的效果
- Android之利用Viewpager实现图片的轮播效果
- js实现首页图片的轮播效果
- jq + css 实现简单的图片轮播效果
- js日常小练习:实现图片的轮播效果
- 关于图片透明效果的实现
- SWT实现的图片透明效果
- SWT实现的图片透明效果
- 广州地铁离线查询app源码
- dubbo启动报java.lang.ClassNotFoundException: javassist.ClassPath
- SQL语句大全
- EasyUI20141216_2
- LayoutInflater作用及使用
- 实现图片渐变透明的轮播效果(欢迎界面)
- Android数据库框架-Archiver(LiteOrm)的简单使用(一)
- 解决Android SDK 下载太慢
- 利用计划任务定时备份SQLSERVER数据库
- MpaReduce中的分组排序——注意点
- 在Mac下安装使用OpenCV
- 亲测!JDK环境变量设置——或找不到或无法加载主类con.sun.tools.javac.Main的问题解决
- Windows中的服务启动不起来, 报超时怎么办?
- 让 Ubuntu 12.04 1 跑 Windows下的类通达信股票软件