栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android实现的可以调整透明度的图片查看器实例

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android实现的可以调整透明度的图片查看器实例

本文以实例讲解了基于Android的可以调整透明度的图片查看器实现方法,具体如下:

 main.xml部分代码如下:




  

    

java部分代码为:

package android.demo;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.ImageView;

public class AndroidDemo5Activity extends Activity {
  // 定义一个访问图片的数组
  int[] images = new int[] { R.drawable.lijiang, R.drawable.qiao,
      R.drawable.shuangta, R.drawable.shui, R.drawable.xiangbi,
      R.drawable.ic_launcher, };
  // 定义当前显示的图片
  int currentImage = 2;
  // 定义图片的初始透明度
  private int alpha = 255;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    final Button plusButton = (Button) findViewById(R.id.button1);
    final Button minuxButton = (Button) findViewById(R.id.button2);
    final Button nextButton = (Button) findViewById(R.id.button3);

    final ImageView imageview1 = (ImageView) findViewById(R.id.imageView1);
    final ImageView imageview2 = (ImageView) findViewById(R.id.imageView2);

    // 定义查看下一张图片的时间监听器
    nextButton.setonClickListener(new onClickListener() {

      @Override
      public void onClick(View v) {
 if (currentImage >= 5) {
   currentImage = -1;
 }
 BitmapDrawable bitmap = (BitmapDrawable) imageview1
     .getDrawable();
 // 如果图片还没有回收,先强制回收图片
 if (!bitmap.getBitmap().isRecycled()) {
   bitmap.getBitmap().recycle();
 }
 // 改变ImageView的图片
 imageview1.setImageBitmap(BitmapFactory.decodeResource(
     getResources(), images[++currentImage]));
      }
    });

    // 定义改变图片透明度的方法
    onClickListener listener = new onClickListener() {

      @Override
      public void onClick(View v) {
 if (v == plusButton) {
   alpha += 20;
 }
 if (v == minuxButton) {
   alpha -= 20;
 }
 if (alpha > 255) {
   alpha = 255;
 }
 if (alpha <= 0) {
   alpha = 0;
 }
 // 改变图片的透明度
 imageview1.setAlpha(alpha);

      }
    };

    // 为2个按钮添加监听器
    plusButton.setonClickListener(listener);
    minuxButton.setonClickListener(listener);
    imageview1.setonTouchListener(new onTouchListener() {

      @Override
      public boolean onTouch(View arg0, MotionEvent arg1) {
 // TODO Auto-generated method stub
 BitmapDrawable bitmapDeaw = (BitmapDrawable) imageview1
     .getDrawable();
 // 获取第一个图片显示框中的位图
 Bitmap bitmap = bitmapDeaw.getBitmap();
 double scale = bitmap.getWidth();
 // 或许需要显示图片的开始点
 int x = (int) (arg1.getX() * scale);
 int y = (int) (arg1.getY() * scale);
 if (x + 120 > bitmap.getWidth()) {
   x = bitmap.getWidth() - 120;
 }
 if (y + 120 > bitmap.getHeight()) {
   y = bitmap.getHeight() - 120;
 }

 // 显示图片的指定区域
 imageview2.setImageBitmap(Bitmap.createBitmap(bitmap, x, y,
     120, 120));
 imageview2.setAlpha(alpha);
 return false;
      }
    });
  }

}

运行效果图如下:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/164560.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号