原文链接:http://www.codeceo.com/article/android-zoom-image.html

ImageView有scaleType属性可以缩放图片,让图片铺满屏幕宽度,但是会出现压缩或裁剪的情况。

ImageView的scaleType的属性分别是matrix(默认)、center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXY

android:scaleType="center"

保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。

android:scaleType="centerCrop"

以填满整个ImageView为目的,将原图的中心对准ImageView的中心,等比例放大原图,直到填满ImageView为止(指的是ImageView的宽和高都要填满),原图超过ImageView的部分作裁剪处理。

android:scaleType="centerInside"

以原图完全显示为目的,将图片的内容完整居中显示,通过按比例缩小原图的size宽(高)等于或小于ImageView的宽(高)。如果原图的size本身就小于ImageView的size,则原图的size不作任何处理,居中显示在ImageView。

android:scaleType="matrix"

不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理。

android:scaleType="fitCenter"

把原图按比例扩大或缩小到ImageView的ImageView的高度,居中显示

android:scaleType="fitEnd"

把原图按比例扩大(缩小)到ImageView的高度,显示在ImageView的下部分位置

android:scaleType="fitStart"

把原图按比例扩大(缩小)到ImageView的高度,显示在ImageView的上部分位置

android:scaleType="fitXY"

把原图按照指定的大小在View中显示,拉伸显示图片,不保持原比例,填满ImageView.

实现图片适应屏幕宽度方式:获取屏幕大小,动态设置控件高度。实现代码:

packagecom.penngo.image;importandroid.app.Activity;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.os.Bundle;importandroid.util.Log;importandroid.view.ViewGroup;importandroid.widget.ImageView;publicclassMainActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Bitmapbitmap=BitmapFactory.decodeResource(getResources(),R.drawable.b206_125);intbwidth=bitmap.getWidth();intbHeight=bitmap.getHeight();intwidth=Screen.getScreenWidth(this);Log.e("====",bwidth+""+bHeight+""+width);ImageViewimg5=(ImageView)this.findViewById(R.id.img5);intheight=width*bHeight/bwidth;ViewGroup.LayoutParamspara=img5.getLayoutParams();para.height=height;img5.setLayoutParams(para);}}
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_margin="5dip"tools:context=".MainActivity"><ImageViewandroid:id="@+id/img4"android:src="@drawable/b206_125"android:scaleType="fitXY"android:layout_width="match_parent"android:layout_height="wrap_content"/><Viewandroid:id="@+id/view"android:layout_marginTop="5dp"android:layout_marginBottom="5dp"android:layout_below="@+id/img4"android:layout_width="match_parent"android:layout_height="1dip"android:background="#c3c3c3"android:visibility="visible"/><ImageViewandroid:id="@+id/img5"android:src="@drawable/b206_125"android:layout_below="@+id/view"android:layout_width="match_parent"android:layout_height="wrap_content"/><Viewandroid:id="@+id/view1"android:layout_marginTop="5dp"android:layout_marginBottom="5dp"android:layout_below="@+id/img5"android:layout_width="match_parent"android:layout_height="1dip"android:background="#c3c3c3"android:visibility="visible"/><ImageViewandroid:id="@+id/img6"android:src="@drawable/b206_125"android:scaleType="centerCrop"android:layout_below="@+id/view1"android:layout_width="match_parent"android:layout_height="wrap_content"/></RelativeLayout>

更多相关文章

  1. android 状态栏(StatusBar)
  2. Google地图开发应用(一)
  3. android 8.0 ,9.0 静态广播不显示问题处理
  4. android ListView向上滑动隐藏标题,下拉显示标题栏
  5. 如何让Activity以全屏方式显示
  6. android linphone中opengl显示的实现
  7. android——api
  8. android tabHost布局之一 继承TabActivity并以activity布局
  9. HotApp小程序统计开发总结之设置了navigationBarBackgroundColor

随机推荐

  1. Android处理图像数据转换的各种方法
  2. Android(安卓)折线图之hellocharts (饼状
  3. Webview之H5页面调用android的图库及文件
  4. Android从服务器上下载文件
  5. Android实践 -- 监听应用程序的安装、卸
  6. Android(安卓)ViewPager引导页
  7. /bin/bash: bison: command not found
  8. Android触摸事件(三)-触摸事件类使用实例
  9. android典型代码系列(二十一)------根据
  10. Android(安卓)解锁屏启动过程