图片(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();//这个是自己写 ...
随机推荐
- Mysql备份之Innobakcupex&Xtrabackup
一.innobackupex备份工具 基本选项 --compress:该选项表示压缩innodb数据文件的备份. --compress-threads:该选项表示 ...
- 在Eclipse平台中,搭建SpringBoot开发环境
1.查看eclipse版本号,Help->About Eclipse IDE 2.下载对应版本的STS插件 下载地址:https://spring.io/tools3/sts/all(注意版本对 ...
- Django官网案例教程
1.注意:python manage.py runserver 0:8000(侧任何IP均可访问)
- 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 ...
- WCF系列教程之WCF服务配置
文本参考自:http://www.cnblogs.com/wangweimutou/p/4365260.html 简介:WCF作为分布式开发的基础框架,在定义服务以及消费服务的客户端时可以通过配置文件 ...
- Java 8学习之Lambda表达式
一.lambda表达式 一个lambda表达式包含三个部分: 一段代码 参数 自由变量的值,这里的自由指的是哪些不是参数并且没有在代码中定义的变量. 示例: public static void re ...
- oauth2.0的授权流程详解
授权模式 1)oauth2.0 提供了四种授权模式,开发者可以根据自己的业务情况自由选择. 授权码授权模式(Authorization Code Grant) 隐式授权模式(简化模式)(Implici ...
- Compile android source and kernel for emulator in Debian
1.download the android source code Reference from http://source.android.com/source/downloading.html ...
- Django 中文乱码问题&富文本显示
1.起源:从后台管理添加中文对象,正常,但是再次点击编辑的时候,抛出异常,显示编码问题. 解决:在项目的manage.py 的文件头部添加 import sys reload(sys) sys. ...
- java几个经典的算法题目----------查询子串和等于已知数字
给出一个排序好的数组和一个数,求数组中连续元素的和等于所给数的子数组 public class testClockwiseOutput { public static void main(String ...