图片(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.效果显示图:

时间: 2024-10-30 12:46:15

图片(imageView)的相关文章

Android开发之自定义圆角矩形图片ImageView的实现

android中的ImageView只能显示矩形的图片,这样一来不能满足我们其他的需求,比如要显示圆角矩形的图片,这个时候,我们就需要自定义ImageView了,其原理就是首先获取到图片的Bitmap,然后进行裁剪对应的圆角矩形的bitmap,然后在onDraw()进行绘制圆角矩形图片输出. 效果图如下: 自定义的圆形的ImageView类的实现代码如下: package com.xc.xcskin.view; import android.content.Context; import and

Android 圆形、圆角图片ImageView

圆形.圆角图片ImageView 当时做这个功能的时候也是从网上找的.比较好用的demo 作者以及详细解释请见:Android BitmapShader 实战 实现圆形.圆角图片 在这里主要讲一下如何使用 1.把RoundImageView导入包下 2.在xml中配置 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.a

Anfroid 在界面中显示图片 ImageView

ImageView1.什么是ImageView是显示图片的一个控件2.ImageView属性android:src ImageView的内容颜色 android:background ImageView背景图片android:color ImageView的RGB颜色 项目里我新建了一个Icon,名为ic_lena.这个项目用于演示ImageView的src属性和bakground的区别.src和background属性可以同时存在. ImageView部分的代码片段: <ImageView a

iOS 设置图片imageView圆角——对图片进行裁剪

以前设置图片圆角总是把imageView设置成圆形,然后设置maskToBounds为YES,其实这样处理很消耗性能,图片多了之后比较卡,最好将图片进行裁剪后显示:这里有个分类可以用: UIImage+wiRoundedRectImage.h #import <UIKit/UIKit.h> @interface UIImage (wiRoundedRectImage) + (id)createRoundedRectImage:(UIImage*)image size:(CGSize)size

在imageView依次加入7个手势, 1.点击哪个button,往imageView上加入哪个手势.(保证视图上仅仅有一个手势). 2.轻拍:点击视图切换美女图片.(imageView上首先展示的美女

// // ControlView.h // HomeworkGestureRecognizer // // Created by lanouhn on 14-8-27. // Copyright (c) 2014年 [email protected] 陈聪雷. All rights reserved. // #import <UIKit/UIKit.h> @interface ControlView : UIView @property (nonatomic, retain) NSMutab

Android圆形图片--ImageView

[ RoundImageView.java ] 1 package com.dxd.roundimageview; 2 import android.content.Context; 3 import android.content.res.TypedArray; 4 import android.graphics.Bitmap; 5 import android.graphics.Bitmap.Config; 6 import android.graphics.Canvas; 7 import

UI组件之ImageView及其子类(一)ImageView显示图片

ImageView家族的继承关系如图: ImageView继承自View组件,它的主要功能室显示图片,还可以显示Drawable对象. ImageView直接子类是ImageButton,QuickContactBadge,间接子类是ZoomButton,因此ImageView 的所有XML属性,方法,基本上都可以用于ImageButton,ZoomButton ImageView的XML 属性如下: android:adjustViewBounds:是否调整自己的边界来保持所显示的图片长宽比.

android 实现ImageView按压效果和解决背景图片拉申问题

建立一个.XML文件,名为:image_tab_bg.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <selector 3 xmlns:android="http://schemas.android.com/apk/res/android"> 4 <item android:state_pressed="true" android:drawable=

Xcode 设置图片全屏显示

- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.// UIImage *image = [UIImage imageNamed:@"initial_page_bg.jpg" ]; UIImageView *imageView = [[UIImageView alloc]initWithImage:image

Android 自定义Gallery浏览图片

之前写的<Android ImageSwitcher和Gallery的使用>一文中提到我在教室一下午为实现那个效果找各种资料.期间在网上找了一个个人觉得比较不错的效果,现在贴图上来: 其实这个效果使用的知识点就是图像的获取.创建.缩放.旋转.Matrix类.Canvas类等,另外就是自定义的Gallery控件. 相信大家都期待马上上代码了吧,嘻嘻.(注释比较多,相信大家都能看懂.) main.xml: <?xml version="1.0" encoding=&quo