android drawable 透明度,ImageView透明度

您所在的位置:网站首页 flash动画怎么改变图片透明度 android drawable 透明度,ImageView透明度

android drawable 透明度,ImageView透明度

2024-01-05 05:04| 来源: 网络整理| 查看: 265

ImageView 能显示的不仅仅是图片,任何Drawable对象都可以使用它来显示

xml

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:orientation="horizontal"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:gravity="center">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="增大透明度"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="降低透明度"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="下一张"

/>

android:layout_width="fill_parent"

android:background="#0000ff"

android:layout_height="240px"

android:src="@drawable/shuangta"

android:scaleType="fitCenter"  />

android:layout_width="120dp"

android:layout_height="120dp"

android:background="#0000ff"

android:layout_marginTop="10dp"/>

Activity

package org.crazyit.imageview;

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;

/**

* Description:

* site: crazyit.org

* Copyright (C), 2001-2012, Yeeku.H.Lee

* This program is protected by copyright laws.

* Program Name:

* Date:

* @author  Yeeku.H.Lee [email protected]

* @version  1.0

*/

public class ImageViewTest extends Activity

{

//定义一个访问图片的数组

int[] images = new int[]{

R.drawable.lijiang,

R.drawable.qiao,

R.drawable.shuangta,

R.drawable.shui,

R.drawable.xiangbi,

};

//定义默认显示的图片

int currentImg = 2;

//定义图片的初始透明度

private int alpha = 255;

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

final Button plus = (Button)findViewById(R.id.plus);

final Button minus = (Button)findViewById(R.id.minus);

final ImageView image1 = (ImageView)findViewById(R.id.image1);

final ImageView image2 = (ImageView)findViewById(R.id.image2);

final Button next = (Button)findViewById(R.id.next);

//定义查看下一张图片的监听器

next.setOnClickListener(new OnClickListener()

{

@Override

public void onClick(View v)

{

if (currentImg >= 4)

{

currentImg = -1;

}

BitmapDrawable bitmapDrawable = (BitmapDrawable) image1

.getDrawable();

//如果图片还未回收,先强制回收该图片

if (!bitmapDrawable.getBitmap().isRecycled())

{

bitmapDrawable.getBitmap().recycle();

}

//改变ImageView显示的图片

image1.setImageBitmap(BitmapFactory.decodeResource(getResources()

, images[++currentImg]));

//try

//{

改变ImageView里显示的图片

//image1.setImageResource(images[++currentImg]);

//}

捕捉内存溢出异常

//catch(OutOfMemoryError e)

//{

//}

}

});

//定义改变图片透明度的方法

OnClickListener listener = new OnClickListener()

{

@Override

public void onClick(View v)

{

if(v == plus)

{

alpha += 20;

}

if(v == minus)

{

alpha -= 20;

}

if(alpha >= 255)

{

alpha = 255;

}

if(alpha 

@Override

public boolean onTouch(View view, MotionEvent event)

{

BitmapDrawable bitmapDrawable = (BitmapDrawable) image1

.getDrawable();

//获取第一个图片显示框中的位图

Bitmap bitmap = bitmapDrawable.getBitmap();

//bitmap图片实际大小与第一个ImageView的缩放比例

double scale = bitmap.getWidth() / 320.0;

//获取需要显示的图片的开始点

int x = (int) (event.getX() * scale);

int y = (int) (event.getY() * scale);

if (x  + 120 > bitmap.getWidth())

{

x = bitmap.getWidth() - 120;

}

if (y  + 120 > bitmap.getHeight())

{

y = bitmap.getHeight() - 120;

}

//显示图片的指定区域

image2.setImageBitmap(Bitmap.createBitmap(bitmap, x, y, 120, 120));

image2.setAlpha(alpha);

return false;

}

});

}

}



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3