第三方控件

[GitHub的源码下载] 
(https://github.com/MostafaGazar/CustomShapeImageView)

1:依赖包

dependencies {
    ...
    compile 'com.mostafagazar:customshapeimageview:1.0.4'
    ...
}

2:如果你使用混淆器代码收缩和迷惑,一定要添加以下:

   -keep class com.meg7.widget.** { *; }

3:然后就只需要在布局文件布局就OK

<com.meg7.widget.CustomShapeImageView
    android:layout_width="64dp"
    android:layout_height="64dp"
    android:src="@drawable/sample"
    app:shape="circle"
    android:scaleType="centerCrop" />
    <com.meg7.widget.CircleImageView
    android:layout_width="64dp"
    android:layout_height="64dp"
    android:src="@drawable/sample"
    android:scaleType="centerCrop" />

<com.meg7.widget.RectangleImageView
    android:layout_width="64dp"
    android:layout_height="64dp"
    android:src="@drawable/sample"
    android:scaleType="centerCrop" />

<com.meg7.widget.SvgImageView
    android:layout_width="64dp"
    android:layout_height="64dp"
    android:src="@drawable/sample"
    app:svg_raw_resource="@raw/shape_star"
    android:scaleType="centerCrop" />

拓展: 
Selector—状态选择器 
状态选择器:特殊的图片,可以根据不同的情况显示不同的图片,一般是默认和按下两种颜色 
创建步骤:res -> drawable -> xxx.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
        <item android:state_pressed="true"
              android:drawable="@drawable/button_pressed" /> <!-- pressed 按下显示图片-->
        <item android:state_focused="true"
              android:drawable="@drawable/button_focused" /> <!-- focused 获取焦点显示的图片-->
        <item android:state_hovered="true"
              android:drawable="@drawable/button_focused" /> <!-- hovered 鼠标悬停显示的图片-->
        <item android:drawable="@drawable/button_normal" />  <!-- default 默认显示的图片-->
</selector>
在布局文件中使用,设置控件背景即可
android:background="@drawable/selector_home_setting"

GridView—网格控件

android:numColumns="2"   继承abslistview,所以操作基本一致 umColumns : 设置GridView的列数
android:horizontalSpacing="5dp"      horizontalSpacing : 列与列之间的距离            Spacing['spesɪŋ]间隔
android:verticalSpacing="5dp"     verticalSpacing : 行与行之间的距离 
 

圆形图片CustomShapeImageView的更多相关文章

  1. Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框

     Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框 在Android早期的开发中,如果涉及到圆形图片的处理,往往需要借助于第三方的实现,见附录文章1,2.And ...

  2. android绘制圆形图片的两种方式

    看下效果先 下面有完整的示例代码 使用BitmapShader(着色器) 我们在绘制view 的时候 就是小学上美术课 用水彩笔在本子上画画 使用着色器绘制圆形图片最简单的理解方式 就是把bitmap ...

  3. Glide实现圆角和圆形图片

    实现圆形图片 , 传参第一个为上下文, 第二个为角度 package com.hh.beauter.util; import android.content.Context; import andro ...

  4. iOS常见用户头像的圆形图片裁剪常见的几种方法

    在开发中,基本上APP的用户头像的处理都需要把用户所上传的方形图片,处理为圆形图片.在这里就总结三种常见的处理圆形图片的方法. 1.使用位图上下文 2.使用UIView的layer进行处理 3.使用r ...

  5. Android实现圆形图片

     情景再现: 写Android程序也有一段时间了,今天突然被问怎么实现一个圆形图片,很多app图像是圆形的.但是用户上传的图像可不是圆的,所以问题就来了,需要我们代码实现圆形图片.但是大脑飞转想到第三 ...

  6. UIImage类扩展返回一个带边框的圆形图片

    /** * 将image转换为圆型带边框的图片(最好写一个UIImage的类扩展) * * @param name 图片的名字 * @param borderWidth 外层边框的宽度 * @para ...

  7. Android_AsyncTaskDemo之QQ记步数(画圆形图片知识)

    今天学习了AsyncTask Android 的异步机制.我简单的实现我的一个小小案例--qq记步数.然后穿插一个画圆形图片的知识点. 由于所学知识有限,目前我计数,还有排名等等我就简单的利用随机数实 ...

  8. android通过Canvas和Paint截取无锯齿圆形图片

    一个通过Canvas和Paint截取无锯齿圆形图片. /** * 根据原图和变长绘制圆形图片 * * @param source * @param min * @return */ public st ...

  9. Android Glide+CircleImageView实现加载圆形图片列表

    需求:要在列表中实现圆形图片的显示,控件可能和加载库会存在冲突 先上代码,至于其中源码,以后有空再分析 MainActivity public class MainActivity extends A ...

随机推荐

  1. DropDownList单选与多选下拉框

    一.单选DropDownList传值 1.添加界面的DropDownList显示值问题 (1)在方法内添加ViewData的方法: var ad = new UnitsRepository(); Vi ...

  2. TCP连接的建立与终止

    TCP/IP详解学习笔记(13)-- TCP连接的建立与终止 1.TCP连接的建立            设主机B运行一个服务器进程,它先发出一个被动打开命令,告诉它的TCP要准备接收客户进程的连续请 ...

  3. Citrix 服务器虚拟化之六 Xenserver虚拟机创建与快照

    Citrix 服务器虚拟化之六  Xenserver虚拟机创建与快照 在Xenserver上可以创建Windows和Linux等虚拟机,Xenserver支持大部分的主流操作系统,可以使用 XenCe ...

  4. lua脚本中字符串分割split

    function split( s, c ) for item in string.gmatch( s, "(.-)"..c) do print(item); end end s ...

  5. Android 短信模块分析(四) MMS之短信的发送与接收

     MMS之短信的发送与接收分析: 一.信息发送: com.android.mms.data.WorkingMessage.java 类 send()函数: public void send() { . ...

  6. SharePoint 2016 自定义城市和区域字段

    前言 最近有这么一个需求,就是用到中国的各种行政区,然后还是三级联动,就琢磨写这么一个字段.然后,觉得挺有意义的,写字段的过程也有点心得,就想到拿到博客里分享给大家,一起看看. 1. 创建字段的解决方 ...

  7. 【C语言】字符串模块

    一.字符串简介 * 在Java中,一个字符串可以用String类型来存储 String s = "MJ"; C语言中没有String这种类型.其实字符串就是字符序列,由多个字符组成 ...

  8. 算法笔记_015:快速排序(Java)

    目录 1 问题描述 2 解决方案 2.1 快速排序原理简介 2.2 具体编码 1 问题描述 给定一组数据,使用快速排序得到这组数据的非降序排列. 2 解决方案 2.1 快速排序原理简介 引用自百度百科 ...

  9. C#开发学习——存储过程

    举个例子: 带输入参数的存储过程计算班级中英语和数学不及格的人数      if(exists(select * from sys.objects where name='usp_GetFailCou ...

  10. hdu1038

    #include <stdio.h> #define P 3.1415927 #define toFeet(x) x/12.0 #define toMiles(x) x/5280.0 in ...