Android 仿朋友圈单张图片限定宽高超出时按比例缩放效果实现

分析

        因项目需求需要实现仿微信朋友圈单张图片展示效果,经分析微信单张图片的显示效果分两种情况:

        1.当需要展示的图片实际宽度占满全屏时,发现高度大于指定高度,此时固定ImageView控件高度为最大高度,宽度则按图片比例进行缩放;

         2.当需要展示的图片实际宽度占满全屏时,发现高度小于或等于指定高度,此时ImageView控件的高宽度都按图片比例进行缩放;

        两种情况示例图如下:(第一条item表示第一种情况,第二条item表示第二种情况)

        

 

实现

       通过ImageView的按比例缩放功能及限定最大高度配合实现

示例代码

       

    

<ImageView
   android:id="@+id/iv_picture"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_marginBottom="10dp"
   android:adjustViewBounds="true"
   android:maxHeight="240dp"
   android:scaleType="fitStart" />

     说明:

      1.通过设置 android:layout_height="wrap_content" 与 android:adjustViewBounds="true"  实现填充图片后控件高度按比例缩放

      2.通过 android:maxHeight="240dp" 限定填充图片后的最大高度,防止图片过长影响浏览

      3.通过 android:scaleType="fitStart" 调整图片填充初始位置

 

Demo地址:https://github.com/ziwenL/WechatMomentsOnlyPictureDemo

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值