Android 之 ImageView 示例

原创 2012年03月30日 00:19:05
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >										<!-- 声明了一个垂直分布的线性布局 -->
	<ImageView
		android:id="@+id/iv"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:layout_gravity="center_horizontal"
		android:src="@drawable/p1"
		/>									<!-- 声明了ImageView控件  -->
	<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
		android:orientation="horizontal"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:layout_gravity="center_horizontal"
		>									<!-- 声明了一个水平分布的线性布局 -->
		<Button
			android:id="@+id/previous"
			android:text="@string/previous"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:layout_gravity="center_horizontal"
			/>									<!-- 声明了一个Button控件 -->
		<Button
			android:id="@+id/alpha_plus"
			android:text="@string/alpha_plus"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:layout_gravity="center_horizontal"
			/>									<!-- 声明了一个Button控件 -->
		<Button
			android:id="@+id/alpha_minus"
			android:text="@string/alpha_minus"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:layout_gravity="center_horizontal"
			/> 									<!-- 声明了一个Button控件 -->
		<Button
			android:id="@+id/next"
			android:text="@string/next"
			android:layout_width="wrap_content"
			android:layout_height="wrap_content"
			android:layout_gravity="center_horizontal"
			/>									<!-- 声明了一个Button控件 -->
	</LinearLayout>
</LinearLayout>

package com.ethan;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class ImageActivity extends Activity {
	ImageView iv;				//ImageView对象引用
	Button btnNext;				//Button对象引用
	Button btnPrevious;			//Button对象引用
	Button btnAlphaPlus;		//Button对象引用
	Button btnAlphaMinus;		//Button对象引用
	
	int currImgId = 0;			//记录当前ImageView显示的图片id
	int alpha=255;				//记录ImageView的透明度
	int [] imgId = {			//ImageView显示的图片数组
		R.drawable.p1,	
		R.drawable.p2,
		R.drawable.p3,
		R.drawable.p4,
		R.drawable.p5,
		R.drawable.p6,
		R.drawable.p7,
		R.drawable.p8,
	};
	
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        iv = (ImageView)findViewById(R.id.iv);			//获得ImageView对象引用
        btnNext = (Button)findViewById(R.id.next);		//获得ImageView对象引用
        btnPrevious = (Button)findViewById(R.id.previous);	//获得ImageView对象引用
        btnAlphaPlus = (Button)findViewById(R.id.alpha_plus);	//获得ImageView对象引用
        btnAlphaMinus = (Button)findViewById(R.id.alpha_minus);	//获得ImageView对象引用
        btnNext.setOnClickListener(myListener);			//为Button对象设置OnClickListener监听器
        btnPrevious.setOnClickListener(myListener);		//为Button对象设置OnClickListener监听器
        btnAlphaPlus.setOnClickListener(myListener);	//为Button对象设置OnClickListener监听器
        btnAlphaMinus.setOnClickListener(myListener);	//为Button对象设置OnClickListener监听器
    }
    
    private View.OnClickListener myListener = new View.OnClickListener(){//自定义的OnClickListener监听器
		@Override
		public void onClick(View v) {		//判断点下的是那个Button
			if(v == btnNext){				//下一张图片按钮被按下
				currImgId = (currImgId+1)%imgId.length;
				iv.setImageResource(imgId[currImgId]);	//设置ImageView的显示图片
			}
			else if(v == btnPrevious){		//上一张图片按钮被按下
				currImgId = (currImgId-1+imgId.length)%imgId.length;
				
				iv.setImageResource(imgId[currImgId]);	//设置ImageView的显示图片
			}
			else if(v == btnAlphaPlus){			//增加透明度按钮被按下
				alpha -= 25;
				if(alpha < 0){
					alpha =0;
				}
				iv.setAlpha(alpha);			//设置ImageView的透明度
			}
			else if(v == btnAlphaMinus){	//减少透明度按钮被按下
				alpha += 25;
				if(alpha >255){
					alpha = 255;
				}
				iv.setAlpha(alpha);			//设置ImageView的透明度
			}
		}
	};
}

源代码:http://115.com/file/bexjng5x

android自定义view-打造圆形ImageView(一)

前言: 大家在很多应用不难发现,用户的头像那一块的imageview是圆形的,可是我们并没有现成的圆形ImageView调用,那么最常见的思路就是自己去写一个属于自己的圆形ImageView,基于这样...
  • SmartIceberg
  • SmartIceberg
  • 2016年03月29日 11:02
  • 5143

Android ImageView圆形头像 图片完全解析

转载http://m.oschina.net/blog/321024 Android ImageView圆形头像 图片完全解析  我们在做项目的时候会用到圆形的图片,比如用户头像,类似QQ...
  • feixiangdexin123087
  • feixiangdexin123087
  • 2014年12月22日 10:28
  • 19770

Android开发之自定义圆形的ImageView的实现

android中的ImageView只能显示矩形的图片,这样一来不能满足我们其他的需求,比如要显示圆形的图片,这个时候,我们就需要自定义ImageView了,其原理就是首先获取到图片的Bitmap,然...
  • Happy_Develop_
  • Happy_Develop_
  • 2016年12月28日 18:14
  • 1898

Android - 实现各种形状的ImageView

实现各种形状的ImageView要用到BitmapShader类,这个类的介绍如下:BitmapShader是Shader的子类,可以通过Paint.setShader(Shader shader)进...
  • yayun0516
  • yayun0516
  • 2016年09月08日 23:13
  • 2089

Android 中ImageView 显示图片的几种方法简要分析

Android 中ImageView 显示图片的几种方法简要分析Android 中ImageView 显示图片的几种方法简要分析 image派 setImageBitmap setImageDrawa...
  • hoyouly
  • hoyouly
  • 2016年10月17日 15:23
  • 5655

【Android CustomImageView】图片圆角设定/圆形图片设定

这个贴参考 鸿洋_ dalao 的,我进行简单介绍! 现在的QQ,微信,贴吧等等app中,用户的头像 圆形,圆角化很常见了! 这个贴就是介绍 图片的 圆角设定! 例子: 代...
  • ssh159
  • ssh159
  • 2017年02月12日 12:12
  • 406

Android开发:在ImageView上绘制圆环

绘制圆环其实很简单,有大概以下三种思路. 这里先说网上提到的一种方法。思路是先绘制内圆,然后绘制圆环(圆环的宽度就是paint设置的paint.setStrokeWidth的宽度),最后绘制外圆。 ...
  • yanzi1225627
  • yanzi1225627
  • 2013年02月15日 21:28
  • 17078

android开源系列:CircleImageView自定义圆形控件的使用

1.自定义圆形控件github地址:https://github.com/hdodenhof/CircleImageView主要的类:package de.hdodenhof.circleimagev...
  • NUPTboyZHB
  • NUPTboyZHB
  • 2014年05月02日 20:52
  • 21912

[Android]可缩放性ImageView(可以放大缩小)

由于项目需求的原因,最近一直在研究可缩放性ImageView,用本文来记录一下最近所学: 该ImageView的实现功能有: 1)初步打开时,图片按比例满屏(填充ImageView)显示。 2)在放大...
  • u011596810
  • u011596810
  • 2015年07月31日 18:55
  • 12536

Android ImageView设置图片的可见性

Android ImageView 设置图片的可见性,设置颜色的不同方法,设置图片指定大小。 1、public voidsetVisibility (int visibili...
  • ajiangro
  • ajiangro
  • 2013年08月05日 21:56
  • 2538
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 之 ImageView 示例
举报原因:
原因补充:

(最多只允许输入30个字)