上面都是用ShapeableImageView写出来的效果

直接上代码:

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image0"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="20dp"android:src="@mipmap/image"app:layout_constraintEnd_toStartOf="@id/image1"app:layout_constraintHorizontal_chainStyle="spread"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image1"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="20dp"android:src="@mipmap/image"app:layout_constraintEnd_toStartOf="@id/image2"app:layout_constraintHorizontal_chainStyle="spread"app:layout_constraintStart_toEndOf="@id/image0"app:layout_constraintTop_toTopOf="parent"app:shapeAppearance="@style/RoundedStyle1" /><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image2"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="20dp"android:src="@mipmap/image"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_chainStyle="spread"app:layout_constraintStart_toEndOf="@id/image1"app:layout_constraintTop_toTopOf="parent"app:shapeAppearance="@style/RoundedStyle2" /><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image3"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="20dp"android:padding="2dp"android:src="@mipmap/image"app:layout_constraintEnd_toStartOf="@id/image4"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@id/image0"app:layout_constraintVertical_chainStyle="spread"app:shapeAppearance="@style/RoundedStyle2"app:strokeColor="#00ff00"app:strokeWidth="4dp" /><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image4"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="20dp"android:padding="2dp"android:src="@mipmap/image"app:layout_constraintEnd_toEndOf="@id/image5"app:layout_constraintStart_toEndOf="@id/image3"app:layout_constraintTop_toBottomOf="@id/image1"app:layout_constraintVertical_chainStyle="spread"app:shapeAppearance="@style/RoundedStyle3"app:strokeColor="#00ff00"app:strokeWidth="4dp" /><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image5"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="20dp"android:padding="2dp"android:src="@mipmap/image"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toEndOf="@id/image4"app:layout_constraintTop_toBottomOf="@id/image1"app:layout_constraintVertical_chainStyle="spread"app:shapeAppearance="@style/RoundedStyle4"app:strokeColor="#00ff00"app:strokeWidth="4dp" /><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image6"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="20dp"android:padding="2dp"android:src="@mipmap/image"app:layout_constraintEnd_toStartOf="@id/image7"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@id/image3"app:layout_constraintVertical_chainStyle="spread"app:shapeAppearance="@style/RoundedStyle5"app:strokeColor="#00ff00"app:strokeWidth="4dp" /><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image7"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="20dp"android:padding="2dp"android:src="@mipmap/image"app:layout_constraintEnd_toEndOf="@id/image8"app:layout_constraintStart_toEndOf="@id/image6"app:layout_constraintTop_toBottomOf="@id/image3"app:layout_constraintVertical_chainStyle="spread"app:shapeAppearance="@style/RoundedStyle6" /><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image8"android:layout_width="180dp"android:layout_height="80dp"android:layout_marginTop="20dp"android:padding="2dp"android:scaleType="fitXY"android:src="@mipmap/image"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toEndOf="@id/image7"app:layout_constraintTop_toBottomOf="@id/image3"app:layout_constraintVertical_chainStyle="spread"app:shapeAppearance="@style/RoundedStyle4"app:strokeColor="#00ff00"app:strokeWidth="4dp" /><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image9"android:layout_width="180dp"android:layout_height="50dp"android:layout_marginTop="20dp"android:padding="2dp"android:scaleType="fitXY"android:src="@mipmap/image"app:layout_constraintEnd_toStartOf="@id/image10"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@id/image6"app:layout_constraintVertical_chainStyle="spread"app:shapeAppearance="@style/RoundedStyle5"app:strokeColor="#00ff00"app:strokeWidth="4dp" /><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image10"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="20dp"android:padding="2dp"android:src="@mipmap/image"app:layout_constraintEnd_toStartOf="@id/image11"app:layout_constraintStart_toEndOf="@id/image9"app:layout_constraintTop_toBottomOf="@id/image6"app:layout_constraintVertical_chainStyle="spread"app:shapeAppearance="@style/RoundedStyle7" /><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image11"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="20dp"android:padding="2dp"android:scaleType="fitXY"android:src="@mipmap/image"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toEndOf="@id/image10"app:layout_constraintTop_toBottomOf="@id/image6"app:layout_constraintVertical_chainStyle="spread"app:shapeAppearance="@style/RoundedStyle8" /><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image12"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="20dp"android:scaleType="fitXY"android:src="@mipmap/image"app:layout_constraintEnd_toStartOf="@id/image13"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@id/image10"app:layout_constraintVertical_chainStyle="spread"app:shapeAppearance="@style/RoundedStyle9" /><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image13"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="20dp"android:src="@mipmap/image"app:layout_constraintEnd_toStartOf="@id/image14"app:layout_constraintStart_toEndOf="@id/image12"app:layout_constraintTop_toBottomOf="@id/image10"app:layout_constraintVertical_chainStyle="spread" /><com.google.android.material.imageview.ShapeableImageViewandroid:id="@+id/image14"android:layout_width="80dp"android:layout_height="80dp"android:layout_marginTop="20dp"android:scaleType="fitXY"android:src="@mipmap/image"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toEndOf="@id/image13"app:layout_constraintTop_toBottomOf="@id/image10"app:layout_constraintVertical_chainStyle="spread" /><TextViewandroid:id="@+id/tv1"android:layout_width="wrap_content"android:layout_height="80dp"android:layout_marginTop="20dp"android:gravity="center"android:padding="10dp"android:textColor="@color/white"android:text="你好,我是自定义的气泡效果"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@id/image14" /></androidx.constraintlayout.widget.ConstraintLayout>

style文件

<resources xmlns:android="http://schemas.android.com/apk/res/android"><!--ShapeableImageView 圆角--><style name="RoundedStyle1"><item name="cornerFamily">rounded</item><item name="cornerSize">15dp</item></style><style name="RoundedStyle2"><item name="cornerFamily">rounded</item><item name="cornerSize">50%</item></style><style name="RoundedStyle3"><item name="cornerFamily">cut</item><item name="cornerSize">15dp</item></style><style name="RoundedStyle4"><item name="cornerFamily">cut</item><item name="cornerSize">50%</item></style><style name="RoundedStyle5"><item name="cornerFamilyTopLeft">rounded</item><item name="cornerSizeTopLeft">50%</item><item name="cornerFamilyBottomLeft">rounded</item><item name="cornerSizeBottomLeft">50%</item><item name="cornerFamilyTopRight">cut</item><item name="cornerSizeTopRight">50%</item><item name="cornerFamilyBottomRight">cut</item><item name="cornerSizeBottomRight">50%</item></style><style name="RoundedStyle6"><item name="cornerFamily">rounded</item><item name="cornerSizeTopLeft">50%</item><item name="cornerSizeBottomRight">50%</item></style><style name="RoundedStyle7"><item name="cornerFamily">rounded</item><item name="cornerFamilyTopLeft">rounded</item><item name="cornerSizeTopLeft">100%</item></style><style name="RoundedStyle8"><item name="cornerFamilyTopLeft">rounded</item><item name="cornerFamilyTopRight">rounded</item><item name="cornerSizeTopLeft">70%</item><item name="cornerSizeTopRight">70%</item></style><style name="RoundedStyle9"><item name="cornerFamilyBottomLeft">rounded</item><item name="cornerFamilyBottomRight">rounded</item><item name="cornerFamilyTopLeft">rounded</item><item name="cornerFamilyTopRight">rounded</item><item name="cornerSizeBottomLeft">25dp</item><item name="cornerSizeBottomRight">25dp</item><item name="cornerSizeTopLeft">70%</item><item name="cornerSizeTopRight">70%</item></style></resources>

Google官方控件ShapeableImageView使用相关推荐

  1. Axure之支付宝官方控件库

    AntD Library(Ant Design官方Axure控件库) 干货!干货!干货!对于经常使用AxureRP的用户有福了!下面直接附上支付宝Axure控件库,Web和Mobile全都有,简直事半 ...

  2. GMap.net控件学习记录

    主要参考网址 http://www.cnblogs.com/luxiaoxun/p/3802559.html http://www.cnblogs.com/luxiaoxun/p/3463250.ht ...

  3. UWP 查找模板中的控件

    UWP 查找模板中的控件 原文:UWP 查找模板中的控件 这个标题我也不知道咋起,意思说一下你就明白. 1. 对官方控件的模板进行定制修改,以满足多样化需求,还有漂亮的UI 比如ListView,Gr ...

  4. html 自动加载activex控件,管理加载项未显示加载控件

    已安装控件,但是在"管理加载项"中"所有加载项"中就是这个: 已安装的控件只有在网页调用此控件时才会在加载项里出现 IE加载项没有禁用Flash Player为 ...

  5. sencha touch的pinch zoom控件

    pinch zoom是移动应用中非常实用的手势,尤其用于图片浏览. 遗憾的是sencha touch2仍然没有提供现成的官方控件. 人肉了下,找到以下资源: 1.https://market.senc ...

  6. android 彩票 控件,Android_自我总结(一)之彩票app总结

    1.Android Studio引用其他project: APP路径:D:\workspace\AndroidStudio\EnjoyLottery\app\build.gradle 2.开机动画,联 ...

  7. wpf教程-metro扁平化样式UI控件库推荐:MahApps.Metro

    wpf虽然做出来的ui效果已经很好了,但是还是会有很多客户要求在完善.不如在win8出来后,很多用户就喜欢metro的样式. 今天给大家推荐metro扁平化样式UI控件库:MahApps.Metro ...

  8. android google 下拉刷新 csdn,android SwipeRefreshLayout google官方下拉刷新控件

    下拉刷新功能之前一直使用的是XlistView很方便我前面的博客有介绍 SwipeRefreshLayout是google官方推出的下拉刷新控件使用方法也比较简单 今天就来使用下SwipeRefres ...

  9. 使用Google 官方的控件SwipeRefreshLayout实现下拉刷新功能

    之前做东西的时候,经常会用到下拉刷新的功能,之前大家都在使用Github上的一个很著名的开源项目 PullToRefresh 但是,现在好消息来了,google在19.1版本的support-v4兼容 ...

最新文章

  1. 互联网如何促进经济发展?腾讯、谷歌、Facebook的实践和经验
  2. android 获取布局textview,android – 获取TextView中文本的位置
  3. python3.7.2安装-ubuntu下编译安装Python3.7.2
  4. To B路上,除了服务管理,还要知识管理
  5. 电商云里 guided selling 的一些基本概念
  6. 一步步编写操作系统 55 CPL和DPL入门2
  7. 网站服务器睡眠后还能访问吗,远程服务器可以睡眠吗
  8. android adb apk包名,ADB命令简单使用--查看包名、activity等
  9. 长文剖析经典论文,揭晓 Facebook 广告排序模型!
  10. android生命周期_Android片段生命周期
  11. ubuntu linux镜像文件下载地址,ubuntu7.04下载地址大合集
  12. 商鼎云PC端正式亮相—开启内测通告
  13. 基于帕累托最优的多目标SNP选择
  14. Java制作JDK8文档搜索引擎项目并部署到阿里云服务器
  15. 以atlis为例:即插即用电动汽车(皮卡)
  16. Spark GraphX下强连通子图和社团发现算法在1T TPC-DS数据集下执行方法、优化和性能估算
  17. 秒懂 堆栈寻址 STMFA STMFD LDMFA LDMED( ARM中的汇编指令)
  18. SpringBoot实现导出Excel功能
  19. 【百度快照】基于MATLAB GUI的条形码识别系统
  20. (C++)1~10000质数表

热门文章

  1. python安装成功可为什么打不开_python为什么安装了运行不了?
  2. [学点英语]一些常见的英语词汇缩写及读音纠正
  3. Cortex-M CPU架构基础
  4. 遇到问题--k8s--helm安装elasticsearch报错java.lang.IllegalArgumentException: unknown setting [node.remote_clu
  5. 出版社、作者和图书 出版社类:属性:编号,出版社名称,地址 方法:显示出版社的信息 构造:无参构造方法、有参构造方法 作者类:属性:作者的编号,姓名 方法:显
  6. yolact模型DCNv2模块编译错误解决方法
  7. 《R语言与数据挖掘》⑤高级绘图工具【lattice包】【ggplot2】【交互式】
  8. 交易猫链接搭建/带完整版源码
  9. SRI-Subresource Integrity
  10. 本地安装nginx部署项目