学徒浅析Android开发:第四讲——ImageView图片你的控制
来源:互联网 发布:题库软件哪个好 编辑:程序博客网 时间:2024/05/13 20:23
这是TeachDemo的最后一页内容,作为最后的内容,小编决定介绍一点简单实用的东西,关于图片的所发问题,对于ImageView中引用的图片一直和其自身所在的View是有领土纠纷的。这时我们要设置图片样式以此来设置图片合理的显示在view中。但ImageView很不给面子,一次提供了七个样式供我们选择。这让当初的我头疼不已。现在小编就带大家区分这其中样式,看他们各有什么不同。
这次是在FourFragment中构建本次例子。
package com.teach.demo;/** * @author Arthur Lee * @time 04/08/2014 * */import java.util.ArrayList;import android.graphics.Color;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Button;import android.widget.ImageView;import android.widget.ImageView.ScaleType;import android.widget.RadioButton;public class FourthFragment extends Fragment{//缓存视图private View view;private Button bt_fitXY,bt_fitStart,bt_fitCenter,bt_fitEnd, bt_center,bt_centerCrop,bt_centerinside;private ImageView image;@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);} @Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stub//如果当前视图为空,初始化视图if(view == null){//指定当前视图在viewpager中显示的是view_first。xml,通过LayoutInflater来指定.view = inflater.inflate(R.layout.view_fourth, null);}//指定当前视图的父类,以便调用父类的移除功能。 ViewGroup parent = (ViewGroup) view.getParent(); if (parent != null) {parent.removeView(view);} bt_fitXY = (Button)view.findViewById(R.id.fourth_fitXY); bt_fitStart = (Button)view.findViewById(R.id.fourth_fitStart); bt_fitEnd = (Button)view.findViewById(R.id.fourth_fitend); bt_fitCenter = (Button)view.findViewById(R.id.fourth_fitcenter); bt_center = (Button)view.findViewById(R.id.fourth_center); bt_centerCrop = (Button)view.findViewById(R.id.fourth_centerCrop); bt_centerinside = (Button)view.findViewById(R.id.fourth_centerinside); image = (ImageView)view.findViewById(R.id.image); image.setImageResource(R.drawable.test); bt_fitXY.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub/** * FIT_XY格式,就是拉伸图片,直到当前图片完全覆盖当前的view*/image.setScaleType(ScaleType.FIT_XY);}}); bt_fitStart.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub/** * FIT_START格式,只拉伸图片的高,居左对齐,直到当前图片的高等于当前的view的高*/image.setScaleType(ScaleType.FIT_START);}}); bt_fitEnd.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub/** * FIT_END格式,只拉伸图片的高,居右对齐,直到当前图片的高等于当前的view的高*/image.setScaleType(ScaleType.FIT_END);}}); bt_fitCenter.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub/** * FIT_CENTER格式,只拉伸图片的高,居中对齐,直到当前图片的高等于当前的view的高*/image.setScaleType(ScaleType.FIT_CENTER);}}); bt_center.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub/** * CENTER格式,按图片大小显示,居中放置*/image.setScaleType(ScaleType.CENTER);}}); bt_centerinside.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub/** * CENTER_INSIDE格式,自动缩放图片,保持图片的高等于view的高。居中放置*/image.setScaleType(ScaleType.CENTER_INSIDE);}}); bt_centerCrop.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub/** * CENTER_CROP格式,按比例放大原图的宽和高,直到图片的高等于view的高,居中放置*/image.setScaleType(ScaleType.CENTER_CROP);}});return view;}}
具体效果图如下:
原图:
fitXY格式:
fitStart格式:
fitCenter格式:
fitend格式:
centerinside格式:
centerCrop格式:
最后还是用一句话结束:我不是一个好的程序员,因为我只会默默奉献。
1 0
- 学徒浅析Android开发:第四讲——ImageView图片你的控制
- 学徒浅析Android开发:第六讲——屏幕分辨率自适应
- 学徒浅析Android开发:第二讲——ListView和GridView的应用
- 学徒浅析Android开发:第三讲——Dilalog的常用方法介绍(一)
- 学徒浅析Android开发:第三讲——Dialog的常用方法介绍(二)
- 学徒浅析Android开发:第五讲——Handler和Intent的是传值流程
- 学徒浅析Android开发:第十一讲——ListView嵌套问题的特解
- 学徒浅析Android开发:第十四讲——Frame动画的滚屏操作
- 学徒浅析Android开发——SO文件的混淆
- 学徒浅析Android开发——SO文件的混淆
- 学徒浅析Android开发:第七讲——数据存储之SharedPreferences
- 学徒浅析Android开发:第七讲——数据存储之SQLite
- 学徒浅析Android开发:第八讲——TabWidget标签制作
- 学徒浅析Android开发:第九讲——SpannableString,让文字活起来
- 学徒浅析Android开发:第十讲——文字剪切效果
- 学徒浅析Android开发:第十三讲——Tween动画
- 学徒浅谈Android开发:第一讲——滑屏效果的实现ViewPager+Fragment
- 学徒浅析Android开发:杂谈——WebView的url跳转时方法执行顺序
- Python 用到的几个库
- jQuery 显示 隐藏 操作
- 解析智能手机产业链
- Linux的GDB远程调试的实现
- Spring AOP + AspectJ annotation
- 学徒浅析Android开发:第四讲——ImageView图片你的控制
- Hypertable源码解读之RangeServer启动过程
- 调整php和mysql的时间 utc转为北京时间
- <PY><core python programming笔记>C19 图形用户界面编程
- MTU与MSS的比较分析
- AddressSanitizer 内存检测工具
- CentOS下安装LAMP环境
- 黑马程序员_Eclipse快捷键整理
- SpringMVC与Hibernate整合