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

图片(imageView)的更多相关文章

  1. Android圆形图片--ImageView

    [ RoundImageView.java ] package com.dxd.roundimageview; import android.content.Context; import andro ...

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

    android中的ImageView只能显示矩形的图片,这样一来不能满足我们其他的需求,比如要显示圆角矩形的图片,这个时候,我们就需要自定义ImageView了,其原理就是首先获取到图片的Bitmap ...

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

    以前设置图片圆角总是把imageView设置成圆形,然后设置maskToBounds为YES,其实这样处理很消耗性能,图片多了之后比较卡,最好将图片进行裁剪后显示:这里有个分类可以用: UIImage ...

  4. Android开发之自定义圆角矩形图片ImageView的实现 - Jamy Cai

    android中的ImageView只能显示矩形的图片,这样一来不能满足我们其他的需求,比如要显示圆角矩形的图片,这个时候,我们就需要自定义ImageView了,其原理就是首先获取到图片的Bitmap ...

  5. 圆形图片 ImageView

    package com.example.m_evolution; import android.content.Context; import android.graphics.Bitmap; imp ...

  6. Anfroid 在界面中显示图片 ImageView

    ImageView1.什么是ImageView是显示图片的一个控件2.ImageView属性android:src ImageView的内容颜色 android:background ImageVie ...

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

    // // ControlView.h // HomeworkGestureRecognizer // // Created by lanouhn on 14-8-27. // Copyright ( ...

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

    建立一个.XML文件,名为:image_tab_bg.xml <?xml version="1.0" encoding="utf-8"?> < ...

  9. 03 ImageView 图片

    四  ImageView   父类 : view     >概念:展示图片的控件       >属性:      <!--  android:adjustViewBounds=&qu ...

  10. ImageView显示网络上的图片

    ImageView显示网络上的图片 一.简介 二.方法 1)ImageView显示网络上的图片方法 第一步:从网络上下载图片 byte[] byteArr = downImage();//这个是自己写 ...

随机推荐

  1. Mysql备份之Innobakcupex&Xtrabackup

                       一.innobackupex备份工具 基本选项 --compress:该选项表示压缩innodb数据文件的备份. --compress-threads:该选项表示 ...

  2. 在Eclipse平台中,搭建SpringBoot开发环境

    1.查看eclipse版本号,Help->About Eclipse IDE 2.下载对应版本的STS插件 下载地址:https://spring.io/tools3/sts/all(注意版本对 ...

  3. Django官网案例教程

    1.注意:python manage.py runserver 0:8000(侧任何IP均可访问)

  4. dp--2019南昌网络赛B-Match Stick Game

    dp--2019南昌网络赛B-Match Stick Game Xiao Ming recently indulges in match stick game and he thinks he is ...

  5. WCF系列教程之WCF服务配置

    文本参考自:http://www.cnblogs.com/wangweimutou/p/4365260.html 简介:WCF作为分布式开发的基础框架,在定义服务以及消费服务的客户端时可以通过配置文件 ...

  6. Java 8学习之Lambda表达式

    一.lambda表达式 一个lambda表达式包含三个部分: 一段代码 参数 自由变量的值,这里的自由指的是哪些不是参数并且没有在代码中定义的变量. 示例: public static void re ...

  7. oauth2.0的授权流程详解

    授权模式 1)oauth2.0 提供了四种授权模式,开发者可以根据自己的业务情况自由选择. 授权码授权模式(Authorization Code Grant) 隐式授权模式(简化模式)(Implici ...

  8. Compile android source and kernel for emulator in Debian

    1.download the android source code Reference from http://source.android.com/source/downloading.html ...

  9. Django 中文乱码问题&富文本显示

    1.起源:从后台管理添加中文对象,正常,但是再次点击编辑的时候,抛出异常,显示编码问题. 解决:在项目的manage.py 的文件头部添加  import sys  reload(sys)  sys. ...

  10. java几个经典的算法题目----------查询子串和等于已知数字

    给出一个排序好的数组和一个数,求数组中连续元素的和等于所给数的子数组 public class testClockwiseOutput { public static void main(String ...