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

图片(imageView)的更多相关文章
- Android圆形图片--ImageView
[ RoundImageView.java ] package com.dxd.roundimageview; import android.content.Context; import andro ...
- Android开发之自定义圆角矩形图片ImageView的实现
android中的ImageView只能显示矩形的图片,这样一来不能满足我们其他的需求,比如要显示圆角矩形的图片,这个时候,我们就需要自定义ImageView了,其原理就是首先获取到图片的Bitmap ...
- iOS 设置图片imageView圆角——对图片进行裁剪
以前设置图片圆角总是把imageView设置成圆形,然后设置maskToBounds为YES,其实这样处理很消耗性能,图片多了之后比较卡,最好将图片进行裁剪后显示:这里有个分类可以用: UIImage ...
- Android开发之自定义圆角矩形图片ImageView的实现 - Jamy Cai
android中的ImageView只能显示矩形的图片,这样一来不能满足我们其他的需求,比如要显示圆角矩形的图片,这个时候,我们就需要自定义ImageView了,其原理就是首先获取到图片的Bitmap ...
- 圆形图片 ImageView
package com.example.m_evolution; import android.content.Context; import android.graphics.Bitmap; imp ...
- Anfroid 在界面中显示图片 ImageView
ImageView1.什么是ImageView是显示图片的一个控件2.ImageView属性android:src ImageView的内容颜色 android:background ImageVie ...
- 在imageView依次加入7个手势, 1.点击哪个button,往imageView上加入哪个手势.(保证视图上仅仅有一个手势). 2.轻拍:点击视图切换美女图片.(imageView上首先展示的美女
// // ControlView.h // HomeworkGestureRecognizer // // Created by lanouhn on 14-8-27. // Copyright ( ...
- android 实现ImageView按压效果和解决背景图片拉申问题
建立一个.XML文件,名为:image_tab_bg.xml <?xml version="1.0" encoding="utf-8"?> < ...
- 03 ImageView 图片
四 ImageView 父类 : view >概念:展示图片的控件 >属性: <!-- android:adjustViewBounds=&qu ...
- ImageView显示网络上的图片
ImageView显示网络上的图片 一.简介 二.方法 1)ImageView显示网络上的图片方法 第一步:从网络上下载图片 byte[] byteArr = downImage();//这个是自己写 ...
随机推荐
- 【算法笔记】A1022 Digital Library
题意 输入n本书的信息:id,书名,作者,关键字,出版社,出版年份.搜索图书,输出id. 思路 定义5个map<string, set<int> >,分别存放Title, Au ...
- CodeForces - 1025B Weakened Common Divisor
http://codeforces.com/problemset/problem/1025/B 大意:n对数对(ai,bi),求任意一个数满足是所有数对中至少一个数的因子(大于1) 分析: 首先求所有 ...
- 物联网学习之路——物联网通信技术:NBIoT
NBIoT是什么 NB-IoT,Narrow Band Internet of Things,窄带物联网,是一种专为万物互联打造的蜂窝网络连接技术.顾名思义,NB-IoT所占用的带宽很窄,只需约180 ...
- 布局优化之ViewStub、Include、merge使用分析
布局技巧 在Android开发过程中,我们会遇到很多的问题,随着UI界面越来越多,布局的重复性.复杂度也随之增加,所幸的是,Android官方也给出了几个对布局进行优化的方法,下面根据自己的理解对官方 ...
- (转)我是如何在SQLServer中处理每天四亿三千万记录的
首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...
- 使用webpack && react环境
使用webpack webpack是一款模块化的打包工具,它认为所有的文件都是模块,包括js,css等等,版本为2.x推荐学习,1.x版本已废弃,不建议使用. 目前,facebook官方就是使用web ...
- C# 文件读写系列三
1.读写文本文件 在C# 文件读写系列二中列举了相当多的读写文本文件的方法,大致有以下几种: (1).通过静态类File的静态方法来进行文本文件的读写,主要有ReadAllBytes().ReadAl ...
- Jmeter创建FTP测试计划
创建FTP测试计划 在这一章,你将学习如何创建一个基础的测试计划来测试FTP站点.你将在一个FTP站点上的两个文件中创建四个用户来发送请求.并且,你将告诉用户运行测试两次.所以,总的请求数是(4个用户 ...
- WebDriver中的Actions对象
我们可以利用Actions对象来模拟鼠标的操作以及页面的拖拽 1.模拟鼠标的双击操作: 1)模拟双击一个div,验证点击之前的字体为14号 2)点击后字体为20号 Actions builder = ...
- 四大组件之Activity Task任务栈4种启动模式
1.启动模式 standard,创建一个新的Activity. singleTop,栈顶不是该类型的Activity,创建一个新的Activity.否则,onNewIntent. singleTask ...