Androids是本人根据平时的项目实践经验,为了提高Android开发效率而写的一个工具SDK;里面提供了一些工具类以及自定义View,可在实际项目开发时直接使用。
dependencies {
compile 'com.forward.androids:androids:1.1.8'
}
可设置形状(圆形、圆角矩形)的ImageView
<attr name="siv_shape" format="enum">
<enum name="rect" value="1"/>
<enum name="circle" value="2"/>
<enum name="oval" value="3"/>
</attr>
<attr name="siv_round_radius" format="dimension"/>
<attr name="siv_round_radius_leftTop" format="dimension"/>
<attr name="siv_round_radius_leftBottom" format="dimension"/>
<attr name="siv_round_radius_rightTop" format="dimension"/>
<attr name="siv_round_radius_rightBottom" format="dimension"/>
<attr name="siv_border_size" format="dimension"/>
<attr name="siv_border_color" format="color"/>
《Android自定义View——可设置形状(圆形、圆角矩形、椭圆)的ImageView,抗锯齿》
可在背景图和前景图显示遮罩效果的ImageView
<!-- 遮罩的层面:背景\前景图-->
<attr name="miv_mask_level" format="enum">
<enum name="background" value="1"/>
<enum name="foreground" value="2"/>
</attr>
<!-- 设置了setClickable(true)才生效,默认开启遮罩-->
<attr name="miv_is_show_mask_on_click" format="boolean"/>
<attr name="miv_mask_color" format="color"/>
<!--是否忽略图片的透明度,默认为true,透明部分不显示遮罩 -->
<attr name="miv_is_ignore_alpha" format="boolean"/>
《Android自定义View——可在背景图和前景图显示遮罩效果的ImageView》
可直接在布局文件设置shape和selector,实现点击效果
STextView支持的属性
<attr name="stv_text_color_selected" format="color"/>
<attr name="stv_text_color_pressed" format="color"/>
<attr name="stv_text_color_disable" format="color"/>
STextView/SLayout支持的属性
<!-- 背景状态 -->
<attr name="sel_background_pressed" format="reference|color"/>
<attr name="sel_background_selected" format="reference|color"/>
<!-- 背景形状 -->
<attr name="sel_background_shape" format="enum">
<enum name="rect" value="0"/>
<enum name="oval" value="1"/>
<enum name="line" value="2"/>
<enum name="ring" value="3"/>
</attr>
<!-- 背景圆角 -->
<attr name="sel_background_corners" format="dimension"/>
<attr name="sel_background_corner_topLeft" format="dimension"/>
<attr name="sel_background_corner_topRight" format="dimension"/>
<attr name="sel_background_corner_bottomLeft" format="dimension"/>
<attr name="sel_background_corner_bottomRight" format="dimension"/>
<!-- 背景边框默认状态 -->
<attr name="sel_background_border_color" format="color"/>
<attr name="sel_background_border_width" format="dimension"/>
<!-- 背景边框状态 -->
<attr name="sel_background_border_pressed" format="color"/>
<attr name="sel_background_border_selected" format="color"/>
<!-- ripple水波纹效果-->
<attr name="sel_background_ripple" format="reference|color"/>
<attr name="sel_background_ripple_mask" format="reference|color"/>
<!-- ripple mask形状(仅在sel_background_ripple_mask为color时生效)-->
<attr name="sel_background_ripple_mask_shape" format="enum">
<enum name="rect" value="0"/>
<enum name="oval" value="1"/>
<enum name="line" value="2"/>
<enum name="ring" value="3"/>
</attr>
<!-- ripple mask圆角 -->
<attr name="sel_background_ripple_mask_corners" format="dimension"/>
<attr name="sel_background_ripple_mask_corner_topLeft" format="dimension"/>
<attr name="sel_background_ripple_mask_corner_topRight" format="dimension"/>
<attr name="sel_background_ripple_mask_corner_bottomLeft" format="dimension"/>
<attr name="sel_background_ripple_mask_corner_bottomRight" format="dimension"/>
可以设置宽高比例的ImageView
<!-- 宽度是否根据src图片的比例来测量(高度已知) -->
<attr name="riv_is_width_fix_drawable_size_ratio" format="boolean"/>
<!-- 高度是否根据src图片的比例来测量(宽度已知) -->
<attr name="riv_is_height_fix_drawable_size_ratio" format="boolean"/>
<!--当mIsWidthFitDrawableSizeRatio生效时,最大宽度-->
<attr name="riv_max_width_when_width_fix_drawable" format="dimension"/>
<!--当mIsHeightFitDrawableSizeRatio生效时-->
<attr name="riv_max_height_when_height_fix_drawable" format="dimension"/>
<!-- 高度设置,参考宽度,如0.5 , 表示 高度=宽度×0.5 -->
<attr name="riv_height_to_width_ratio" format="float"/>
<!-- 宽度设置,参考高度,如0.5 , 表示 宽度=高度×0.5 -->
<attr name="riv_width_to_height_ratio" format="float"/>
<!--宽度和高度,避免layout_width/layout_height会在超过屏幕尺寸时特殊处理的情况-->
<attr name="riv_width" format="dimension"/>
<attr name="riv_height" format="dimension"/>
《Android自定View——可以设置宽高比例的ImageView》
滚动选择器,支持循环滚动,可实现生日选择器,老虎机等
<!--滚动选择器通用属性-->
<declare-styleable name="ScrollPickerView">
<attr name="spv_center_item_background" format="reference|color"/>
<attr name="spv_visible_item_count" format="integer"/>
<!-- 中间item的位置,默认为 mVisibleItemCount / 2-->
<attr name="spv_center_item_position" format="integer"/>
<!-- 是否循环滚动,默认为true,开启-->
<attr name="spv_is_circulation" format="boolean"/>
<!-- 不允许父组件拦截触摸事件,设置为true为不允许拦截,此时该设置才生效 -->
<attr name="spv_disallow_intercept_touch" format="boolean"/>
<!-- 滚动的方向-->
<attr name="spv_orientation" format="string">
<enum name="horizontal" value="1"/>
<enum name="vertical" value="2"/>
</attr>
</declare-styleable>
<!--文字选择器-->
<declare-styleable name="StringScrollPicker">
<!--文字渐变大小-->
<attr name="spv_min_text_size" format="dimension"/>
<attr name="spv_max_text_size" format="dimension"/>
<!--文字渐变颜色-->
<attr name="spv_start_color" format="color"/>
<attr name="spv_end_color" format="color"/>
<!--文字最大行宽-->
<attr name="spv_max_line_width" format="dimension"/>
<!--文字对齐方式-->
<attr name="spv_alignment" format="enum">
<enum name="center" value="1"/>
<enum name="left" value="2"/>
<enum name="right" value="3"/>
</attr>
</declare-styleable>
<!--图片选择器-->
<declare-styleable name="BitmapScrollPicker">
<!-- 绘制图片的方式-->
<attr name="spv_draw_bitmap_mode" format="string">
<enum name="fill" value="1"/>
<enum name="center" value="2"/>
<enum name="size" value="3"/>
</attr>
<!-- 绘制图片的方式为size时,指定的图片绘制大小-->
<attr name="spv_draw_bitmap_width" format="dimension"/>
<attr name="spv_draw_bitmap_height" format="dimension"/>
<!-- item内容缩放倍数-->
<attr name="spv_min_scale" format="float"/>
<attr name="spv_max_scale" format="float"/>
</declare-styleable>
监听输入法键盘的弹起与隐藏,可实现输入法和工具栏无缝切换
《Android监听输入法并获取高度——输入法与页面布局无缝切换》
可拖拽的ListView,拖拽排序
《Android自定义View——可拖拽的ListView》
-
对AnimatorSet进行封装,便以链式构建动画;支持设置循环次数
-
- LogUtil 日志输出
- ProcessUtil 进程相关
- ReflectUtil 反射相关
- StatusBarUtil 设置页面为沉浸式状态栏
- ThreadUtil 线程相关,包括主线程和子线程
- DateUtil 日期相关
- Util
- v1.1.8(12)
1.SLayout支持水波纹效果
2.兼容旧版本的sel_background属性
- v1.1.7.1(11)
1.修复SelectorAttrs中background_border的bug。
- v1.1.7(10)
1.完善SelectorAttrs逻辑,支持设置图片。
2.增加TouchGestureDetector
- v1.1.6(9)
文字滚动选择器支持文字换行.