第三方控件

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

1:依赖包

  1. dependencies {
  2. ...
  3. compile 'com.mostafagazar:customshapeimageview:1.0.4'
  4. ...
  5. }

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

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

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

  1. <com.meg7.widget.CustomShapeImageView
  2. android:layout_width="64dp"
  3. android:layout_height="64dp"
  4. android:src="@drawable/sample"
  5. app:shape="circle"
  6. android:scaleType="centerCrop" />
  7. <com.meg7.widget.CircleImageView
  8. android:layout_width="64dp"
  9. android:layout_height="64dp"
  10. android:src="@drawable/sample"
  11. android:scaleType="centerCrop" />
  12.  
  13. <com.meg7.widget.RectangleImageView
  14. android:layout_width="64dp"
  15. android:layout_height="64dp"
  16. android:src="@drawable/sample"
  17. android:scaleType="centerCrop" />
  18.  
  19. <com.meg7.widget.SvgImageView
  20. android:layout_width="64dp"
  21. android:layout_height="64dp"
  22. android:src="@drawable/sample"
  23. app:svg_raw_resource="@raw/shape_star"
  24. android:scaleType="centerCrop" />

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

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

GridView—网格控件

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

圆形图片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. Devexpress XtraReports 交叉报表

    [原创]Devexpress XtraReports 系列 5 创建交叉报表   昨天我们已经介绍了如何创建多栏报表,详见:[原创]Devexpress XtraReports 系列 4 创建多栏报表 ...

  2. Mocking framework

    [译] 什么是Mocking framework?它有什么用? 原位地址:http://codetunnel.com/blog/post/what-is-a-mocking-framework-why ...

  3. 在.Net中执行js

    在.Net中执行js 利用Noesis.Javascript开源组件可以做到在.net中执行js脚本,同时js脚本也能调用C#函数.这个组件的获得方式:在NuGet中输入搜索"Noesis& ...

  4. iOS核心应用对象

    IOS应用之设计模式:模型-视图-控制器 iOS应用与其它应用的区别就在于它所管理的数据(和相应的业务逻辑)以及将数据展现给用户的方式.大多数UIKit对象并不定义应用而是帮助完善其行为.例如,你的应 ...

  5. 在C中判断变量存储类型(字符常量/数组/动态变量)

    在C中判断变量存储类型(字符常量/数组/动态变量) 在chinaunix论坛上有人问到关于变量存府类型的问题,我觉得可以写个测试代码加深大家对内存使用和布局的理解.下面我把原问题及处理办法贴出来,限供 ...

  6. MySQL模式 : Strict Mode

    I. Strict Mode阐述 根据 mysql5.0以上版本 strict mode (STRICT_TRANS_TABLES) 的限制: 1).不支持对not null字段插入null值 2). ...

  7. PHP之语言基础01 By ACReaper

    1.PHP中的变量是不需要声明类型的,由$标识变量,变量的命名规则也是字母或者下划线开头,接着任意字符或者下划线. $PI = 3.14; $radius = 5; $cir = $PI * 2 * ...

  8. activity的android:name所指的Activity实现类的简写问题

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package=" ...

  9. JBoss + EJB3 + MySql : 开发第一个EJB

    JBoss开发Bean并不困难,而对于不知道的人来说,数据库配置才是比较棘手的问题.现在我们就来一步一步开发一个EJB3 + MySql的Bean. 一.MySql数据库的配置 1. 配置数据源 在 ...

  10. [置顶] 使用Android OpenGL ES 2.0绘图之六:响应触摸事件

    传送门 ☞ 系统架构设计 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 传送门 ☞ GoF23种设计模式 ☞ 转载请注明 ☞ http://blog.csd ...