android之ImageView

来源:互联网 发布:网络社交媒体 编辑:程序博客网 时间:2024/05/22 06:37

ImageView

首先确定下ImageView的全路径:android.widget.ImageView.

描述: 

显示任意图像,例如图标。ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各种显示选项。

android:adjustViewBounds
 是否保持宽高比。需要与maxWidth、MaxHeight一起使用,否则单独使用没有效果。
 
android:cropToPadding
 是否截取指定区域用空白代替。单独设置无效果,需要与scrollY一起使用,效果如下,实现代码见代码部分:

 


android:maxHeight
 设置View的最大高度,单独使用无效,需要与setAdjustViewBounds一起使用。如果想设置图片固定大小,又想保持图片宽高比,需要如下设置:

1) 设置setAdjustViewBounds为true;

2) 设置maxWidth、MaxHeight;

3) 设置设置layout_width和layout_height为wrap_content。
 
android:maxWidth
 设置View的最大宽度。同上。
 
android:scaleType
 设置图片的填充方式。

android:src
 设置View的drawable(如图片,也可以是颜色,但是需要指定View的大小)
 
android:tint
 将图片渲染成指定的颜色。

 

代码示例:

点击图片时切换图片并且将另一个图片变暗(主要是对图片透明度的利用)

[java]view plaincopyprint?
  1. package cn.com.chenzheng_java;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.res.Resources;  
  5. import android.graphics.drawable.Drawable;  
  6. import android.os.Bundle;  
  7. import android.view.View;  
  8. import android.widget.Button;  
  9. import android.widget.ImageView;  
  10. import android.widget.ImageView.ScaleType;  
  11. /** 
  12.  *  
  13.  * @author chenzheng_java 
  14.  * 
  15.  */  
  16. public class ImageViewActivity extends Activity {  
  17.   
  18.     private ImageView image1;  
  19.     private ImageView image2;  
  20.     @Override  
  21.     protected void onCreate(Bundle savedInstanceState) {  
  22.         super.onCreate(savedInstanceState);  
  23.         setContentView(R.layout.imageview);  
  24.           
  25.         image1 = (ImageView) findViewById(R.id.imge1);  
  26.         image2 = (ImageView) findViewById(R.id.imge2);  
  27.     //  resetButton = (Button)findViewById(R.id.resetButton);  
  28.           
  29.           
  30.         final int [] ids = new int[]{  
  31.                 R.drawable.red_a,  
  32.                 R.drawable.blackk,  
  33.                 R.drawable.beauty  
  34.         };  
  35.           
  36.           
  37.         image1.setOnClickListener(new View.OnClickListener() {  
  38.             @Override  
  39.             public void onClick(View v) {  
  40.                 int id = ids[0];  
  41.                  image1.setScaleType(ScaleType.CENTER);// 设置剪辑模式  
  42.                   
  43.                 // 设置imageView的背景,如果已经有图片存在的话,则背景会被遮住  
  44.                 // image1.setBackgroundResource(id);  
  45.                   
  46.                 // 设置ImageView上显示的图片  
  47.                  image1.setImageResource(id);  
  48.                    
  49.                  image2.setImageResource(R.drawable.icon);  
  50.                  image2.setAlpha(100);// 设置透明度,255时为无透明度  
  51.               
  52.                   
  53.             }  
  54.         });  
  55.           
  56.           
  57.     }  
  58.   
  59. }  

-----------------------------------------------------------

如何为ImageView设置图片呢,主要方法有:

三种设置图片源的方法
ImageView iv;

String fileName = "/data/data/com.test/aa.png;
Bitmap bm = BitmapFactory.decodeFile(fileName);
iv.setImageBitmap(bm);


ImageView iv = new ImageView(context);
iv.setImageResource(iv[position]);
iv.setScaleType(ImageView.ScaleType.FIT_XY);
iv.setLayoutParams(new Gallery.LayoutParams(136,88));


mImageView = (ImageView)this.findViewById(R.id.myImageView1);
mImageView.setImageDrawable(getResources().getDrawable(R.drawable.right));
0 0
原创粉丝点击