图片控件ImageView

ImageView控件负责显示图片,来源可以是资源文件的id,也可以是Drawable对象或者Bitmap对象,还可以是Content Provider的Uri。


ImageView常用属性

属性名称                                                                        对应方法                                                                                  说明

android:adjustViewBounds setAdjustViewBounds(boolean) 设置是否需要ImageView调整自己的边界来保证所显示的图片的长宽比例

android:maxHeight setMaxHeight(int)ImageView的最大高度,可选

android:maxWidth setMaxWidth(int)ImageView的最大宽度,可选

android:scaleType setScaleType(ImageView.ScaleType)控制图片应如何调整和移动来适合ImageView的尺寸

android:src setImageResource(int)设置ImageView要显示的图片


ImageView类中的成员方法


setAplha(int alpha)  设置透明度

setImageBitmap(Bitmap bm)设置所显示的内容为指定的Bitmap对象

setImageDrawable(Drawable drawable)设置所显示的内容为指定的Drawable对象

setImageResource(int resid)设置所显示的内容为指定的id的资源

setImageUri(Uri uri)设置所显示的内容为指定的Uri

setSelected(boolean selected)设置图片的选中状态


strings.xml

<resources>
     <string name="app_name">TestActivity</string>
     <string name="menu_settings">Settings</string>
     <string name="title_activity_main">MainActivity</string>
     <string name="next">下一张</string>
     <string name="previous">上一张</string>
     <string name="alpha_plus">透明度增加</string>
     <string name="alpha_minus">透明度减少</string>
 </resources>

main.xml

<?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>

Activity

package com.example.testactivity;
 
 
 
 import android.app.Activity;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.Button;
 import android.widget.ImageView;
 
 public class MainActivity 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,
 	};
 	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的透明度
 			}
 		}
 	};
     @Override
     public void onCreate(Bundle savedInstanceState) {	//重写onCreate方法
         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监听器
     }
     
 }
 

程序运行图












  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值