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
将图片渲染成指定的颜色。
代码示例:
点击图片时切换图片并且将另一个图片变暗(主要是对图片透明度的利用)
package cn.com.chenzheng_java; import android.app.Activity; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.ImageView.ScaleType; /** * * @author chenzheng_java * */ public class ImageViewActivity extends Activity { private ImageView image1; private ImageView image2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.imageview); image1 = (ImageView) findViewById(R.id.imge1); image2 = (ImageView) findViewById(R.id.imge2); // resetButton = (Button)findViewById(R.id.resetButton); final int [] ids = new int[]{ R.drawable.red_a, R.drawable.blackk, R.drawable.beauty }; image1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int id = ids[0]; image1.setScaleType(ScaleType.CENTER);// 设置剪辑模式 // 设置imageView的背景,如果已经有图片存在的话,则背景会被遮住 // image1.setBackgroundResource(id); // 设置ImageView上显示的图片 image1.setImageResource(id); image2.setImageResource(R.drawable.icon); image2.setAlpha(100);// 设置透明度,255时为无透明度 } }); } }
-----------------------------------------------------------
如何为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));