ANDROID笔记:ImageView的简单使用

 1 package com.example.classtest;
 2 
 3 import android.app.Activity;
 4 import android.graphics.Bitmap;
 5 import android.graphics.BitmapFactory;
 6 import android.graphics.Matrix;
 7 import android.os.Bundle;
 8 import android.view.View;
 9 import android.view.View.OnClickListener;
10 import android.widget.Button;
11 import android.widget.ImageView;
12 import android.widget.ZoomButton;
13 
14 public class ImageViewActivity extends Activity implements OnClickListener {
15     // 透明度取值:0-255
16     int alpha = 255;
17     ImageView imageView = null;
18     float towidth = 1;
19     float toheight = 1;
20     Bitmap bitmapsrc = null;
21     int bwidth;
22     int bheight;
23 
24     @Override
25     protected void onCreate(Bundle savedInstanceState) {
26         super.onCreate(savedInstanceState);
27         setContentView(R.layout.imageview);
28         // 缩放按钮
29         ZoomButton button3 = (ZoomButton) findViewById(R.id.btn3);
30         ZoomButton button4 = (ZoomButton) findViewById(R.id.btn4);
31         button3.setOnClickListener(this);
32         button4.setOnClickListener(this);
33         // 设置透明度的按钮
34         Button button1 = (Button) findViewById(R.id.btn1);
35         Button button2 = (Button) findViewById(R.id.btn2);
36         button1.setOnClickListener(this);
37         button2.setOnClickListener(this);
38         imageView = (ImageView) findViewById(R.id.image);
39         // 得到需要缩放的图片资源
40         bitmapsrc = BitmapFactory.decodeResource(getResources(),
41                 R.drawable.ic_launcher);
42         bwidth = bitmapsrc.getWidth();
43         bheight = bitmapsrc.getHeight();
44 
45     }
46 
47     @Override
48     public void onClick(View v) {
49         Matrix matrix = new Matrix();
50         Bitmap bitmap = null;
51         switch (v.getId()) {
52         case R.id.btn3:
53             // 放大图片
54             towidth = (float) (towidth * 1.25);
55             toheight = (float) (toheight * 1.25);
56             // 矩阵计算
57             matrix.postScale(towidth, toheight);
58             bitmap = Bitmap.createBitmap(bitmapsrc, 0, 0, bwidth, bheight,
59                     matrix, true);
60             imageView.setImageBitmap(bitmap);
61             break;
62         case R.id.btn4:
63             towidth = (float) (towidth * 0.75);
64             toheight = (float) (toheight * 0.75);
65 
66             matrix.postScale(towidth, toheight);
67             bitmap = Bitmap.createBitmap(bitmapsrc, 0, 0, bwidth, bheight,
68                     matrix, true);
69             imageView.setImageBitmap(bitmap);
70             break;
71         case R.id.btn1:
72             alpha += 40;
73             if (alpha > 255) {
74                 alpha = 255;
75             }
76             // 设置图片透明度
77             imageView.setAlpha(alpha);
78             break;
79         case R.id.btn2:
80             alpha -= 40;
81             if (alpha < 0) {
82                 alpha = 0;
83             }
84             imageView.setAlpha(alpha);
85             break;
86 
87         }
88 
89     }
90 }
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6 
 7     <!-- 横向滚动条 -->
 8 
 9     <HorizontalScrollView
10         android:layout_width="320px"
11         android:layout_height="wrap_content" >
12 
13         <!-- 纵向滚动条 -->
14 
15         <ScrollView
16             android:layout_width="wrap_content"
17             android:layout_height="200px" >
18 
19             <ImageView
20                 android:id="@+id/image"
21                 android:layout_width="wrap_content"
22                 android:layout_height="350dp"
23                 android:scaleType="centerInside"
24                 android:src="@drawable/ic_launcher" />
25         </ScrollView>
26     </HorizontalScrollView>
27 
28     <LinearLayout
29         android:layout_width="fill_parent"
30         android:layout_height="wrap_content"
31         android:orientation="horizontal" >
32 
33         <Button
34             android:id="@+id/btn1"
35             android:layout_width="wrap_content"
36             android:layout_height="wrap_content"
37             android:text="增加透明度" />
38 
39         <Button
40             android:id="@+id/btn2"
41             android:layout_width="wrap_content"
42             android:layout_height="wrap_content"
43             android:text="减小透明度" />
44 
45     </LinearLayout>
46 
47     <LinearLayout
48         android:layout_width="wrap_content"
49         android:layout_height="wrap_content"
50         android:orientation="horizontal" >
51 
52         <!-- 缩放按钮 -->
53 
54         <ZoomButton
55             android:id="@+id/btn3"
56             android:layout_width="wrap_content"
57             android:layout_height="wrap_content"
58             android:src="@android:drawable/btn_plus" />
59 
60         <ZoomButton
61             android:id="@+id/btn4"
62             android:layout_width="wrap_content"
63             android:layout_height="wrap_content"
64             android:src="@android:drawable/btn_minus" />
65     </LinearLayout>
66 
67 </LinearLayout>

重点:

  图片的透明度:imageView.setAlpha(alpha);(alpha 0-255)

  图片的缩放:    matrix.postScale(towidth, toheight);
                 bitmap = Bitmap.createBitmap(bitmapsrc, 0, 0, bwidth, bheight, matrix, true);

         imageView.setImageBitmap(bitmap);

原文地址:https://www.cnblogs.com/afluy/p/3370498.html