问题出现

UI提供了一些图标素材,但是是在一张图片上 如图:

产品需要在页面下方横排显示三个按钮

解决方案

废话不多说,网上搜了一下,大多都是通过代码重新绘制。因为我比较粗俗,所以自己找到了一种解决办法。

心历路程

设置scaleType的值来实现

根据查阅资料了解Image相关view的属性值了解到

对于android:scaleType属性,因为关于图像在ImageView中的显示效果,所以有如下属性值可以选择:

  • matrix:使用matrix方式进行缩放。
  • fitXY:横向、纵向独立缩放,以适应该ImageView。
  • fitStart:保持纵横比缩放图片,并且将图片放在ImageView的左上角。
  • fitCenter:保持纵横比缩放图片,缩放完成后将图片放在ImageView的中央。
  • fitEnd:保持纵横比缩放图片,缩放完成后将图片放在ImageView的右下角。
  • center:把图片放在ImageView的中央,但是不进行任何缩放。
  • centerCrop:保持纵横比缩放图片,以使图片能完全覆盖ImageView。
  • centerInside:保持纵横比缩放图片,以使得ImageView能完全显示该图片。

由于我这里UI提供的图片比较特殊,所以第一张和第二张的图片分别可以通过设置 matrixcenter获取到

  "@+id/qq_login"        android:layout_width="wrap_content"        android:layout_height="47dp"        android:layout_marginBottom="100dp"        android:layout_marginLeft="100dp"        android:layout_marginStart="100dp"        android:background=""        android:contentDescription="@string/qq_login_content_description"        android:scaleType="matrix"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintStart_toStartOf="parent"        app:srcCompat="@drawable/login" />

    "@+id/wx_login"        android:layout_width="wrap_content"        android:layout_height="47dp"        android:layout_marginBottom="100dp"        android:layout_marginEnd="8dp"        android:layout_marginLeft="8dp"        android:layout_marginRight="8dp"        android:layout_marginStart="8dp"        android:background=""        android:contentDescription="@string/wb_login_content_description"        android:scaleType="centerCrop"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintEnd_toStartOf="@+id/wb_login"        app:layout_constraintStart_toEndOf="@+id/qq_login"        app:srcCompat="@drawable/login" />

到上面的时候,心里还是美滋滋,只要这样下去,不超过5分钟,我的图就画好了.可是接着尴尬的问题出现了

第三张的图片怎么取?? WTF??? 此处省略18分钟


终极方案,完美解决

    "@+id/qq_login"        android:layout_width="47dp"        android:layout_height="47dp"        android:paddingTop="94dp"        android:layout_marginBottom="100dp"        android:layout_marginLeft="100dp"        android:layout_marginStart="100dp"        android:background="@null"        android:contentDescription="@string/qq_login_content_description"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintStart_toStartOf="parent"        app:srcCompat="@drawable/login" />    "@+id/wx_login"        android:layout_width="47dp"        android:layout_height="47dp"        android:layout_marginBottom="100dp"        android:layout_marginEnd="8dp"        android:layout_marginLeft="8dp"        android:layout_marginRight="8dp"        android:layout_marginStart="8dp"        android:background="@null"        android:contentDescription="@string/wx_login_content_description"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintEnd_toStartOf="@+id/wb_login"        app:layout_constraintStart_toEndOf="@+id/qq_login"        app:srcCompat="@drawable/login" />    "@+id/wb_login"        android:layout_width="47dp"        android:layout_height="47dp"        android:layout_marginBottom="100dp"        android:layout_marginEnd="100dp"        android:layout_marginRight="100dp"        android:paddingBottom="94dp"        android:background="@null"        android:contentDescription="@string/wb_login_content_description"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintEnd_toEndOf="parent"        app:srcCompat="@drawable/login" />

更多相关文章

  1. Android(安卓)图片内存溢出(Out of Memory)
  2. android批量文件上传(android批量图片上传)
  3. App启动时三种效果(黑屏白屏、背景图片、延迟加载)
  4. Android(安卓)实现高斯模糊效果及低版本兼容
  5. Android(安卓)仿照微信发说说,既能实现拍照,选图库,多图案上传 使用
  6. Android(安卓)根据角度旋转图片
  7. 制作一款简单的网络图片查看器
  8. Android车轮之图片加载框架Android-Universal-Image-Loader
  9. Android原生分享功能的思考与实现

随机推荐

  1. 静态 HTML 网页不能有动态内容吗?再考虑考
  2. 搭建 Apache Jmeter 分布式压测与监控,真
  3. 大数据的语言,工具与框架发展
  4. 「民工哥技术之路」文章阅读指南(附民工哥
  5. 【C语言】猜数字游戏
  6. 世界上最伟大的10家科技公司
  7. 开发者要了解的图形数据库知识
  8. 如何让你的H5页面首屏秒开?首屏优化方案深
  9. 数据中心与云
  10. 一个Java对象究竟占用多大内存? --Java性