Android中ImageView.src设置图片拉伸、填满控件的方法

 更新时间:2017年06月20日 09:42:15   作者:Android移动开发者  
最近公司有个需求,要展示客户公司的企业形象,用一张图片放在ImageView中实现,但是发现图片并没有填满,而是在上下边上留出了一点空白,下面这篇文章主要跟大家介绍了Android中ImageView.src设置图片拉伸、填满控件的方法,需要的朋友可以参考下。

问题

ImageView.src设置图片资源,图片不拉伸了,却有空隙部分:

<LinearLayout 
 android:id="@+id/linearLayout1" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:orientation="vertical" > 
 
<ImageView 
 android:layout_width="wrap_content" 
 android:layout_height="205dp" 
 android:scaleType="centerInside" 
 android:background="@drawable/feature_guide_1" > 
</ImageView> 
</LinearLayout> 

解决

如下方式设置 就没有空隙了

<LinearLayout 
 android:id="@+id/linearLayout1" 
 android:layout_width="match_parent" 
 android:layout_height="wrap_content" 
 android:orientation="vertical" > 
 
 <ImageView 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:layout_gravity="center" 
  android:adjustViewBounds="true" 
  android:scaleType="fitXY" 
  android:src="@drawable/feature_guide_0" > 
 </ImageView> 
</LinearLayout> 

以下为参考内容:

最近碰到一个需求,要求是在不知道图片宽度和高度的情况下,让图片在指定宽度内充满,同时高度自适应,在网络上查找了一下,也有很多解决方法,后来针对自己的应用,选择了一个修改较小的方案,最后证明效果还是蛮不错的,记录在这里,希望能帮助到有同样需求的人。

好了,言归正传

首先,需要给你的ImageView布局加上Android:adjustViewBounds="true"

<ImageView android:id="@+id/test_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:layout_gravity="center"
android:contentDescription="@string/app_name"
android:src="@drawable/ic_launcher" />

然后,在代码里设置ImageView.最大宽度和最大高度,因为adjustViewBounds属性只有在设置了最大高度和最大宽度后才会起作用

int screenWidth = getScreenWidth(this);
ViewGroup.LayoutParams lp = testImage.getLayoutParams();
lp.width = screenWidth;
lp.height = LayoutParams.WRAP_CONTENT;
testImage.setLayoutParams(lp);
testImage.setMaxWidth(screenWidth);
testImage.setMaxHeight(screenWidth * 5); 

这里其实可以根据需求而定,我这里测试为最大宽度的5倍

ok,接下来,再按照常规方法加载图片就会得倒预期的效果了,需要的同学可以试试,good luck.

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Android修改jar文件包名的方法分享

    Android修改jar文件包名的方法分享

    为了防止冲突,修改包名是最直接的途径。下面这篇文章主要介绍了关于Android中修改jar文件包名的方法,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03
  • Android使用插件实现代码混淆

    Android使用插件实现代码混淆

    这篇文章主要介绍了Android如何使用插件实现代码混淆,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下
    2021-03-03
  • gradle中的properties文件详解

    gradle中的properties文件详解

    这篇文章主要介绍了gradle中的properties文件详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Android组件Glide实现图片平滑滚动效果

    Android组件Glide实现图片平滑滚动效果

    这篇文章主要介绍了Android组件Glide实现图片平滑滚动效果的相关资料,具有一定的参考价值,需要的朋友可以参考下
    2016-07-07
  • Android 实现ViewPager边界回弹效果实例代码

    Android 实现ViewPager边界回弹效果实例代码

    这篇文章主要介绍了Android 实现ViewPager边界回弹效果的实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-05-05
  • Android实现本地图片选择及预览缩放效果

    Android实现本地图片选择及预览缩放效果

    这篇文章主要为大家详细介绍了Android仿春雨医生,实现本地图片选择及预览缩放效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Android EditText限制输入字符的方法总结

    Android EditText限制输入字符的方法总结

    这篇文章主要介绍了 Android EditText限制输入字符的方法总结的相关资料,这里提供了五种方法来实现并进行比较,需要的朋友可以参考下
    2017-07-07
  • mac系统下载、安装、使用Java8教程

    mac系统下载、安装、使用Java8教程

    这篇文章主要介绍了在Mac OS上如何下载安装Java8以及使用java8的基本方法,包括查看所安装Java版本的方法,需要的朋友可以参考下
    2017-10-10
  • Android实现加载时提示“正在加载,请稍后”的方法

    Android实现加载时提示“正在加载,请稍后”的方法

    在现在的很多应用中,当在加载的时候,如果页面动态数据较多,会有很长一段时间的空白页面,如果加上这个页面正在加载的提示,使得应用更加人性化。这篇文章就给大家分享了在 Android实现加载时提示“正在加载,请稍后”的方法,有需要的朋友们可以参考借鉴。
    2016-10-10
  • Android里实现退出主程序的提示代码

    Android里实现退出主程序的提示代码

    当用户选择"确定",就退出当前的对话框。其中,有个很重要的函数,Activity.finish(),通过调用这个函数,退出当前运行的整个Android程序
    2013-06-06

最新评论