ProjectX
项目地址:AlexMofer/ProjectX
简介:个人控件合集
标签:
所有个人开源项目合集,便于管理及维护。
Widget
-
TabStrip 基础类,其实现了类似于 PagerTabStrip 的一些基础方法,继承该类型并实现相应方法达到自定义的 PagerTabStrip 同类型的效果。
-
继承自 BaseTabStrip,实现微信式渐变底部 Tab 效果
-
继承自 BaseTabStrip,实现 ViewPager 滚动标记点
-
继承自 BaseTabStrip,移动式下标渐变缩放 Tab,Item 不建议超过 5 个
-
图形裁剪 ImageView,API 21 及以上 使用 View.setOutlineProvider(ViewOutlineProvider) 方式实现,API 18 及以上 使用 Canvas.clipPath(Path) 方式实现,API 18 以下 使用 Paint.setXfermode(Xfermode) 方式实现(使用的是 PorterDuffXfermode),均支持动态图;支持固定高宽缩放比缩放,支持前景 Drawable,支持 ImageView 的所有 ScaleType
-
状态帧布局,通常用于网络请求的四种状态,普通、载入、错误、空白。支持 Drawable 或者 View 来展示,也可以混搭
-
自动换行布局,支持不等长不等宽子项,且可以设置垂直间距与水平间距及子项对齐模式
-
交替布局,配合 TabStrip 使用,达到伴随 ViewPager 动作而进行改变的效果
-
双图片评级控件,可设置图片间距,支持拖动进度及点击进度,可控制最大值最小值,及是否可手动。
-
头尾 GridView,支持 AUTO_FIT 模式,头尾模式有两种,无反射代码。
-
文字可点击 TextView,设置文字部分可点击,点击执行不同操作。
-
带载入动画的环形进度条,可高度配置,支持配置成表盘。
-
一个 View 实现 zxing 条码扫描视图。
-
仿微信式,平滑输入面板,防止键盘的出现与消失导致特殊输入面板的顶起与塌陷。
Drawable
-
双圈动图,用于载入提示。
-
外围小点转圈动图。
-
中心图片,背景可绘制形状,一般用于 ImageView 的 src,保证缩放后,中心的 Drawable 不变形。用于一般 background 属性的话,无需使用本控件,直接使用 layer-list 来定义即可。
-
双层图片,与 CenterDrawable 类似,背景为另一 Drawable,一般用于 ImageView 的 src,保证缩放后,中心的 Drawable 不变形。用于一般 background 属性的话,无需使用本控件,直接使用 layer-list 来定义即可。
-
尖角框,使用该 Drawable 时,会改变 View 的 Padding 值。
-
横线图片,主要是底色为透明或半透明色时有用,为不透明时,通过 layer-list 即可实现。
-
线性图片,多张图片排列,支持设置间隔,主要用于替代多个 ImageView 排列,节省性能。
-
文字图片。
-
圆圈扩大图片。
-
SwipeRefreshLayout 载入动图。
Other
Demo
Support
- Google+: https://plus.google.com/114728839435421501183
- Gmail: moferalex@gmail.com
如果发现错误,请在此处提出: https://github.com/AlexMofer/ProjectX/issues
License
Copyright (C) 2015 AlexMofer
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.