图片(imageView)

图片(imageView):

常用属性:

android:scaleType(图片显示的格式)

android:src(图片源,一般使用的资源)

android:scaleType属性的常用取值

0.matrix:用矩阵来绘图

1.fitXY:拉伸图片(不按比列)以填充View的宽高

2.fitStart:按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的上边

3.fitCenter:按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的中间

4.fitEnd:按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的下边

5.center:按原图大小显示图片,但图片的宽高大于View的宽高时,截图图片中间部分显示

6.centerCrop:按比例放大原图直至等于某边View的宽高显示

7.centerInside:当原图宽高等于View的宽高的时候,按原图的大小居中显示,反之将原图缩放至view的宽高居中显示。

下面我们来看具体的代码实现:

1.Activity

//imageView显示图片视图
public class ImageViewActivity extends Activity {
    
    private Context context;
    private ImageView imageView;
    private Button previousButton;
    private Button nextButton;
    private int currentIndex = 0;
    //这里你可以随便找一些图片来试试
    private int[] images = new int[]{
            R.drawable.shangjinlieren,
            R.drawable.bulong,
            R.drawable.buxiangzhiren,
            R.drawable.gailun,
            R.drawable.guanghuinvlang,
            R.drawable.laoshu,
            R.drawable.liulangfashi,
            R.drawable.longxuewuji,
            R.drawable.manzuzhiwang,
            R.drawable.mishizhiya,
            R.drawable.shamohuangdi,
            R.drawable.shengqiangyouxia,
            R.drawable.shuguangnvshen,
            R.drawable.wujijiansheng,
            R.drawable.wushuangjianji,
            R.drawable.zhaoxin
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.image_view);
        
        init();
        addAction();
    }
    
    private void init(){
        context = this;
        previousButton = (Button)findViewById(R.id.previousButtonId);
        nextButton = (Button)findViewById(R.id.nextButtonId);
        imageView = (ImageView)findViewById(R.id.imageViewId);
        imageView.setImageResource(images[currentIndex]);
    }
    
    private void addAction(){
        previousButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                if(currentIndex==0){
                    Toast.makeText(context, "已经是第一张了...", Toast.LENGTH_SHORT).show();
                }else{
                    currentIndex--;
                    imageView.setImageResource(images[currentIndex]);
                    setScaleType();
                }
            }
        });
        
        nextButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                if(currentIndex==images.length-1){
                    Toast.makeText(context, "已经是最后一张了...", Toast.LENGTH_SHORT).show();
                }else{
                    currentIndex++;
                    imageView.setImageResource(images[currentIndex]);
                    setScaleType();
                }
            }
        });
    }
    //图片显示的格式
    private void setScaleType(){
        if(currentIndex==0){
            imageView.setScaleType(ImageView.ScaleType.MATRIX);
            Toast.makeText(context, "ScaleType=MATRIX", Toast.LENGTH_SHORT).show();
        }
        if(currentIndex==1){
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);
            Toast.makeText(context, "ScaleType=FIT_XY", Toast.LENGTH_SHORT).show();
        }
        if(currentIndex==2){
            imageView.setScaleType(ImageView.ScaleType.FIT_START);
            Toast.makeText(context, "ScaleType=FIT_START", Toast.LENGTH_SHORT).show();
        }
        if(currentIndex==3){
            imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
            Toast.makeText(context, "ScaleType=FIT_CENTER", Toast.LENGTH_SHORT).show();
        }
        if(currentIndex==4){
            imageView.setScaleType(ImageView.ScaleType.FIT_END);
            Toast.makeText(context, "ScaleType=FIT_END", Toast.LENGTH_SHORT).show();
        }
        if(currentIndex==5){
            imageView.setScaleType(ImageView.ScaleType.CENTER);
            Toast.makeText(context, "ScaleType=CENTER", Toast.LENGTH_SHORT).show();
        }
        if(currentIndex==6){
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            Toast.makeText(context, "ScaleType=CENTER_CROP", Toast.LENGTH_SHORT).show();
        }
        if(currentIndex==7){
            imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
            Toast.makeText(context, "ScaleType=CENTER_INSIDE", Toast.LENGTH_SHORT).show();
        }
    }
    
}

2.xml文件布局

<?xml version="1.0" encoding="utf-8"?>
<!-- 显示图片视图的页面 -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayoutId"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="5dp" >

    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:background="@color/yellow"
        android:src="@drawable/mishizhiya" />

    <ImageView
        android:id="@+id/imageViewId"
        android:layout_width="100dp"
        android:layout_height="150dp"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:background="@color/yellow" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center_horizontal"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/previousButtonId"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="上一张" />

        <Button
            android:id="@+id/nextButtonId"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="下一张" />
    </LinearLayout>

</LinearLayout>

3.效果显示图:

posted @ 2016-05-08 13:28  疯狂的兔子!  阅读(548)  评论(0编辑  收藏  举报