优秀框架、自定义控件大搜集,再此特别感谢原作者们。
Include
-
AlertDialog
-
BottomDialog
-
ProgressDialog
-
RoundImageView
圆形图片、圆角图片、椭圆图片
-
RoundTextView
基于TextView 1.直接设置selector背景2.直接设置drawableLeft大小 3.圆角,圆形,背景/边框/文字根据状态变色
-
SmoothCheckBox
-
ExpandIconView
-
FlipView
可翻转的View,仿支付宝-蚂蚁宝卡里流量兑换的翻转View
-
NumberAnimTextView
带数字增加动画的TextView
-
LabelView
角标,一个简单的Android标签控件.
-
LoadingView
加载动画
-
ExpandTextView
可展开、折叠的TextView
-
SmallBang
twitter like animation for any view
-
WaveLoadingView
水波效果 An Android library providing to realize wave loading effect.
-
SearchView
搜索View
-
RadarView
雷达图
-
RangeSeekBar
A beautiful SeekBar that supports bidirectional range selection and normal SeekBar mode, supports scale, negative numbers and a variety of powerful custom properties (一款漂亮美观的支持双向范围选择和普通SeekBar模式的SeekBar,支持刻度、负数以及多种强大的自定义属性)
-
SwitchButton
SwitchButton.An beautiful+lightweight+custom-style-easy switch widget for Android
-
StateView
StateView 一个轻量级的控件, 继承自 View, 吸收了 ViewStub 的一些特性, 初始状态下是不可见的, 不占布局位置, 占用内存少。 当进行操作显示空/重试/加载视图后, 该视图才会被添加到布局中。
-
StickyHeaderDecoration
A sticky header decoration, use for recyclerview
-
IndexBarLayout
Similar to the letter to the right of the phone's contacts
-
IntegerRulerView/DecimalRulerView/RulerView
刻度尺
-
CircleMenu
CircleMenu is a simple, elegant UI menu with a circular layout and material design animations.
-
MarqueeView
俗名:可垂直跑、可水平跑的跑马灯 学名:可垂直翻、可水平翻的翻页公告
-
AnimNumberTextView
滚动显示TextView的数字,支持自定义每个字符速度。
-
ThreeStateSwitch
A simple three-state switch view for Android.
-
SwitchIconView
Google launcher-style implementation of switch (enable/disable) icon
-
DescProgressView
带进度带描述的view
-
WavyLineView
波浪线
-
CouponView
半圆锯齿背景虚线边框组合实现简单优惠券效果,可实现一些简单组合
-
RippleView
简单的涟漪效果
-
工具类
StringUtils、TimeUtils、SPUtils、JsonUtils、ViewUtils、ScreenUtils、AnimatorUitls(部分参考于SwitchLayout)、HttpUtils、FileUtils、AppUitls、IdcardUtil、StatusBarHelper、RandomUtils、ConversionUtils等
-
基类
BaseApplication、BaeActivity、BaseFragment、LazyFragment、CommonAdapter、CommonRecyclerAdapter
Version
【0.3.0】
Step 1. Add the JitPack repository to your build file
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. Add the dependency
dependencies {
compile 'com.github.shichunlei:MyLibrary:0.3.0'
}
或者
Step 1. Add the JitPack repository to your build file
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Step 2. Add the dependency
<dependency>
<groupId>com.github.shichunlei</groupId>
<artifactId>MyLibrary</artifactId>
<version>0.3.0</version>
</dependency>
参见sample示例
===========================================================================================
Attribute 属性 | Description 描述 |
---|---|
mvAnimDuration | 一行文字动画执行时间 |
mvInterval | 两行文字翻页时间间隔 |
mvTextSize | 文字大小 |
mvTextColor | 文字颜色 |
mvGravity | 文字位置:left、center、right |
mvSingleLine | 单行设置 |
mvDirection | 动画滚动方向:bottom_to_top、top_to_bottom、right_to_left、left_to_right |
<chingtech.library.widget.MarqueeView
android:id="@+id/marqueeView"
android:layout_width="match_parent"
android:layout_height="30dp"
app:mvAnimDuration="1000"
app:mvDirection="bottom_to_top"
app:mvInterval="3000"
app:mvTextColor="@color/white"
app:mvTextSize="14sp"
app:mvSingleLine="true"/>
MarqueeView marqueeView = (MarqueeView) findViewById(R.id.marqueeView);
List<String> info = new ArrayList<>();
info.add("1. 大家好,我是孙福生。");
info.add("2. 欢迎大家关注我哦!");
info.add("3. GitHub帐号:sfsheng0322");
info.add("4. 新浪微博:孙福生微博");
info.add("5. 个人博客:sunfusheng.com");
info.add("6. 微信公众号:孙福生");
marqueeView.startWithList(info);
// 在代码里设置自己的动画
marqueeView.startWithList(info, R.anim.anim_bottom_in, R.anim.anim_top_out);
String notice = "心中有阳光,脚底有力量!心中有阳光,脚底有力量!心中有阳光,脚底有力量!";
marqueeView.startWithText(notice);
// 在代码里设置自己的动画
marqueeView.startWithText(notice, R.anim.anim_bottom_in, R.anim.anim_top_out);
marqueeView.setOnItemClickListener(new MarqueeView.OnItemClickListener() {
@Override
public void onItemClick(int position, TextView textView) {
Toast.makeText(getApplicationContext(), String.valueOf(marqueeView1.getPosition()) + ". " + textView.getText(), Toast.LENGTH_SHORT).show();
}
});
@Override
public void onStart() {
super.onStart();
marqueeView.startFlipping();
}
@Override
public void onStop() {
super.onStop();
marqueeView.stopFlipping();
}
===========================================================================================
Place the CircleMenuView
in your layout and set the icons and colors of the buttons, as shown below.
app:button_colors="@array/colors"
app:button_icons="@array/icons"
Example of arrays colors
and icons
in res\values\buttons.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="icons">
<item>@drawable/ic_home_white_24dp</item>
<item>@drawable/ic_search_white_24dp</item>
<item>@drawable/ic_notifications_white_24dp</item>
<item>@drawable/ic_settings_white_24dp</item>
<item>@drawable/ic_place_white_24dp</item>
</array>
<array name="colors">
<item>@android:color/holo_blue_light</item>
<item>@android:color/holo_green_dark</item>
<item>@android:color/holo_red_light</item>
<item>@android:color/holo_purple</item>
<item>@android:color/holo_orange_light</item>
</array>
</resources>
Or use the constructor
CircleMenuView(@NonNull Context context, @NonNull List<Integer> icons, @NonNull List<Integer> colors)
to add CircleMenuView
and configure the buttons programmatically (in the code).
Next, connect the event handler CircleMenuView.EventListener
as shown below,
and override the methods you need.
final CircleMenuView menu = (CircleMenuView) findViewById(R.id.circle_menu);
menu.setEventListener(new CircleMenuView.EventListener() {
@Override
public void onMenuOpenAnimationStart(@NonNull CircleMenuView view) {
Log.d("D", "onMenuOpenAnimationStart");
}
@Override
public void onMenuOpenAnimationEnd(@NonNull CircleMenuView view) {
Log.d("D", "onMenuOpenAnimationEnd");
}
@Override
public void onMenuCloseAnimationStart(@NonNull CircleMenuView view) {
Log.d("D", "onMenuCloseAnimationStart");
}
@Override
public void onMenuCloseAnimationEnd(@NonNull CircleMenuView view) {
Log.d("D", "onMenuCloseAnimationEnd");
}
@Override
public void onButtonClickAnimationStart(@NonNull CircleMenuView view, int index) {
Log.d("D", "onButtonClickAnimationStart| index: " + index);
}
@Override
public void onButtonClickAnimationEnd(@NonNull CircleMenuView view, int index) {
Log.d("D", "onButtonClickAnimationEnd| index: " + index);
}
});
Attribute 属性 | Description 描述 |
---|---|
button_icons | Array of buttons icons. |
button_colors | Array of buttons colors. |
icon_menu | Menu default icon. |
icon_close | Menu closed icon. |
icon_color | Menu icon color. |
duration_ring | Ring effect duration. |
duration_open | Menu opening animation duration. |
duration_close | Menu closing animation duration. |
distance | Distance between center button and buttons |
===========================================================================================
xml中定义:
<chingtech.library.widget.AnimNumberTextView
android:id="@+id/rtv"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:gravity="center"
android:padding="0px"
android:text="123456"
android:textSize="28sp" />
所有位数相同速度滚动:
mNumberTextView.setText("876543");
mNumberTextView.setPianyilian(AnimNumberTextView.ALL);
mNumberTextView.start();
从左到右侧由快到慢滚动:
mNumberTextView.setText("12313288");
mNumberTextView.setPianyilian(AnimNumberTextView.FIRSTF_FIRST);
mNumberTextView.start();
从左到右侧由慢到快滚动:
mNumberTextView.setText("9078111123");
mNumberTextView.setPianyilian(AnimNumberTextView.FIRSTF_LAST);
mNumberTextView.start();
自定义每位数字的速度滚动(每帧滚动的像素):
mNumberTextView.setText("909878");
pianyiliang[0] = 7;
pianyiliang[1] = 6;
pianyiliang[2] = 12;
pianyiliang[3] = 8;
pianyiliang[4] = 18;
pianyiliang[5] = 10;
mNumberTextView.setPianyilian(pianyiliang);
mNumberTextView.start();
自定义滚动行数(默认10行):
mNumberTextView.setMaxLine(20);
===========================================================================================
XML
<chingtech.library.widget.SwitchButton
android:id="@+id/switch_pattern_lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginRight="20dp"
app:sb_background="#FFF"
app:sb_button_color="#db99c7"
app:sb_checked_color="#A36F95"
app:sb_checkline_color="#a5dc88"
app:sb_shadow_color="#A36F95"
app:sb_uncheckcircle_color="#A36F95" />
Java
SwitchButton switchButton = (com.suke.widget.SwitchButton)
findViewById(R.id.switch_button);
switchButton.setChecked(true);
switchButton.isChecked();
switchButton.toggle(); //switch state
switchButton.toggle(false);//switch without animation
switchButton.setShadowEffect(true);//disable shadow effect
switchButton.setEnabled(false);//disable button
switchButton.setEnableEffect(false);//disable the switch animation
switchButton.setOnCheckedChangeListener(new SwitchButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(SwitchButton view, boolean isChecked) {
//TODO do your job
}
});
More Style:
attr | format | description |
---|---|---|
sb_shadow_radius | dimension | 阴影半径 |
sb_shadow_offset | dimension | 阴影偏移 |
sb_shadow_color | color | 阴影颜色 |
sb_uncheck_color | color | 关闭颜色 |
sb_checked_color | color | 开启颜色 |
sb_border_width | dimension | 边框宽度 |
sb_checkline_color | color | 开启指示器颜色 |
sb_checkline_width | dimension | 开启指示器线宽 |
sb_uncheckcircle_color | color | 关闭指示器颜色 |
sb_uncheckcircle_width | dimension | 关闭指示器线宽 |
sb_uncheckcircle_radius | dimension | 关闭指示器半径 |
sb_checked | boolean | 是否选中 |
sb_shadow_effect | boolean | 是否启用阴影 |
sb_effect_duration | integer | 动画时间,默认300ms |
sb_button_color | color | 按钮颜色 |
sb_show_indicator | boolean | 是否显示指示器,默认true:显示 |
sb_background | color | 背景色,默认白色 |
sb_enable_effect | boolean | 是否启用特效,默认true |
===========================================================================================
Add the ThreeStateSwitch in your layout file and customize it the way you like it.
<chingtech.library.widget.ThreeStateSwitch
android:id="@+id/threeState"
android:layout_width="200dp"
android:layout_height="wrap_content"
app:background_selected_color="#5bb434"
app:background_normal_color="#bfbfbf"
app:text_left="左"
app:text_right="右"
app:text_selected_color="#5bb434"
app:text_normal_color="#646464"
app:text_normal_size="16sp"
app:text_selected_size="20sp"/>
You can set a listener for state changes
threeState.setOnChangeListener(new ThreeStateSwitch.OnStateChangeListener() {
@Override
public void OnStateChangeListener(int currentState) {
//current state= -1 0 1
Toast.makeText(MainActivity.this, String.valueOf(currentState), Toast.LENGTH_SHORT).show();
}
});
You can set typeface for texts.
threeState.setNormalTextTypeface( );
threeState.setSelectedTextTypeface( );
Get the current state.
//state= -1 0 1
threeState.getState();
Name | Type | Default | Description |
---|---|---|---|
background_selected_color | Color | #5bb434 | 选中时的背景色 |
background_normal_color | Color | #bfbfbf | 未选中时的背景色 |
text_normal_color | Color | #646464 | 未选中的字的颜色 |
text_selected_color | Color | #5bb434 | 选中的字的颜色 |
text_left | String | 左侧文字 | |
text_right | String | 右侧文字 | |
text_normal_size | Dp or Sp | 16sp | 未选中的字的大小 |
text_selected_size | Dp or Sp | 16sp | 选中的字的大小 |
===========================================================================================
SwitchIconView extends from AppCompatImageView so you can set icon with app:srcCompat
Set any icon (vector or image) to SwitchIconView and enjoy switchable icon in your app :)
Use app:siv_tint_color
to set color to icon. Default color is black;
Use app:siv_disabled_color
to set color when icon disabled. Default color is equals with app:siv_tint_color
;
Use app:siv_disabled_alpha
to set alpha when icon disabled. Default alpha is .5
;
Use app:siv_no_dash
if you don't want to draw dash, when icon disabled;
Use app:siv_animation_duration
if you want to change switching state animation duration;
Use app:siv_enabled
to set initial icon state;
Fully customized implementation:
<chingtech.library.widget.SwitchIconView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
app:si_animation_duration="500"
app:si_disabled_alpha=".3"
app:si_disabled_color="#b7b7b7"
app:si_tint_color="#ff3c00"
app:si_enabled="false"
app:si_no_dash="true"
app:srcCompat="@drawable/ic_cloud"/>
Public methods:
public void setIconEnabled(boolean enabled);
public void setIconEnabled(boolean enabled, boolean animate);
public boolean isIconEnabled();
public void switchState();
public void switchState(boolean animate);
===========================================================================================
Attrs 属性
attr | format | description |
---|---|---|
duration | integer | 动画持续时间 |
stroke_width | dimension | 未选中时边框宽度 |
color_tick | color | 对勾颜色 |
color_checked | color | 选中时填充颜色 |
color_unchecked | color | 未选中时填充颜色 |
color_unchecked_stroke | color | 未选中时边框颜色 |
setChecked(boolean checked); // 默认不带动画,若需要动画 调用重载方法
setChecked(boolean checked, boolean animate); // 参数: animate 是否显示动画
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sample);
final SmoothCheckBox scb = (SmoothCheckBox) findViewById(R.id.scb);
scb.setOnCheckedChangeListener(new SmoothCheckBox.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(SmoothCheckBox checkBox, boolean isChecked) {
Log.d("SmoothCheckBox", String.valueOf(isChecked));
}
});
}
===========================================================================================
Attrs 属性
<attr format="float" name="rv_defaultValue" /> <!-- 默认值 -->
<attr format="float" name="rv_minValue" /> <!-- 最小值 -->
<attr format="float" name="rv_maxValue" /> <!-- 最大值 -->
<attr format="float" name="rv_spanValue" /> <!-- 精度,最小支持0.1 -->
<attr format="dimension" name="rv_itemSpacing" /> <!-- 每个刻度间的宽度 -->
<attr format="dimension" name="rv_minLineHeight" /> <!-- 最短刻度线长度 -->
<attr format="dimension" name="rv_maxLineHeight" /> <!-- 最长刻度线长度 -->
<attr format="dimension" name="rv_middleLineHeight" /> <!-- 中间刻度线长度 -->
<attr format="dimension" name="rv_minLineWidth" /> <!-- 最短刻度线宽度 -->
<attr format="dimension" name="rv_maxLineWidth" /> <!-- 最长刻度线宽度 -->
<attr format="dimension" name="rv_middleLineWidth" /> <!-- 中间刻度线宽度 -->
<attr format="color" name="rv_scaleTextColor" /> <!-- 刻度盘文字颜色 -->
<attr format="color" name="rv_minLineColor" /> <!-- 最短刻度线颜色 -->
<attr format="color" name="rv_maxLineColor" /> <!-- 最大刻度线颜色 -->
<attr format="color" name="rv_middleLineColor" /> <!-- 中间刻度线颜色 -->
<attr format="dimension" name="rv_scaleTextSize" /> <!-- 刻度盘文字大小 -->
<attr format="dimension" name="rv_textMarginTop" /> <!-- 刻度盘文字距离刻度边缘距离 -->
<attr format="color" name="rv_indcatorColor" /> <!-- 指示器颜色 -->
<attr format="dimension" name="rv_indcatorWidth" /> <!-- 指示器宽度,形状为三角时不起作用 -->
<attr format="dimension" name="rv_indcatorHeight" /> <!-- 指示器高度,形状为三角时不起作用 -->
<attr format="enum" name="rv_indcatorType"> <!-- 指示器形状 -->
<enum name="line" value="1" /> <!-- 线 -->
<enum name="triangle" value="2" /> <!-- 三角 -->
</attr>
<attr format="color" name="rv_resultTextColor" /> <!-- 结果文字颜色 -->
<attr format="color" name="rv_unitTextColor" /> <!-- 单位文字颜色 -->
<attr format="dimension" name="rv_resultTextSize" /> <!-- 结果文字大小 -->
<attr format="dimension" name="rv_unitTextSize" /> <!-- 单位文字大小 -->
<attr format="string" name="rv_unit" /> <!-- 单位 -->
<attr format="boolean" name="rv_showResult" /> <!-- 是否显示结果 -->
<attr format="boolean" name="rv_showUnit" /> <!-- 是否显示单位 -->
<attr format="boolean" name="rv_alphaEnable" /> <!-- 是否刻度渐变 -->
XML
<chingtech.library.widget.ruler.DecimalRulerView
android:id="@+id/ruler_weight"
android:layout_width="match_parent"
android:layout_height="120dp"
app:rv_alphaEnable="true"
app:rv_indcatorColor="#414"
app:rv_indcatorType="triangle"
app:rv_indcatorWidth="5dp"
app:rv_itemSpacing="8dp"
app:rv_maxLineColor="#e6e"
app:rv_maxLineHeight="30dp"
app:rv_maxLineWidth="3dp"
app:rv_middleLineColor="#ee2"
app:rv_middleLineHeight="20dp"
app:rv_middleLineWidth="2dp"
app:rv_minLineColor="#e62"
app:rv_minLineHeight="10dp"
app:rv_minLineWidth="1dp"
app:rv_resultTextColor="#444"
app:rv_resultTextSize="20sp"
app:rv_scaleTextColor="#e42"
app:rv_scaleTextSize="15sp"
app:rv_unit="CM"
app:rv_unitTextColor="#666"
app:rv_unitTextSize="15sp" />
Java
mRulerView.initViewParam(20, 0, 100f, 1f);
mRulerView.setChooseValueChangeListener(value -> {
});
===========================================================================================
XML
<chingtech.library.widget.DescProgressView
android:id="@+id/dpv_test"
android:layout_width="match_parent"
android:layout_height="120dp"
android:background="@color/white" />
Java
private List<String> descs= new ArrayList<>();
DescProgressView descProgressView = findViewById(R.id.dpv_test);
descs.add("提交");
descs.add("上传凭证");
descs.add("审核凭证");
descs.add("支付赔款");
descs.add("审核");
descProgressView.setProgressDescs(descs, 2);
属性
attr | format | description |
---|---|---|
dpv_text_normal_color | color | 未选中字体颜色 |
dpv_text_seleced_color | color | 选中字体颜色 |
dpv_text_size | dimension | 字体大小 |
dev_progress_bg_color | color | 选中背景颜色 |
dev_progress_small_circle_color | color | 未选中圆点颜色 |
dev_progress_big_circle_color | color | 选中圆点颜色 |
===========================================================================================
XML
<chingtech.library.widget.WavyLineView
android:id="@+id/wavyLineView"
android:layout_width="match_parent"
android:layout_height="200dp"/>
Java
final WavyLineView wavyLineView = (WavyLineView) findViewById(R.id.wavyLineView);
float initPeriod = (float) (2 * Math.PI / 180);
wavyLineView.setPeriod(initPeriod);
wavyLineView.setAmplitude(25);
wavyLineView.setColor(getResources().getColor(R.color.colorAccent));
wavyLineView.setStrokeWidth(dp2px(this, 2));
属性
attr | format | description |
---|---|---|
period | float | |
strokeColor | color | 线的颜色 |
amplitude | dimension | 振幅 |
strokeWidth | dimension | 线的宽度 |
===========================================================================================
自定义属性说明
自定义属性 | 格式 | 说明 |
---|---|---|
cv_dash_line_color | color | 虚线的颜色 |
cv_dash_line_gap | dimension | 虚线的间隔 |
cv_dash_line_height | dimension | 虚线的高度 |
cv_dash_line_length | dimension | 虚线的长度 |
cv_semicircle_color | color | 半圆的颜色,一般需要和背景色一致 |
cv_semicircle_gap | dimension | 半圆之前的间隔 |
cv_semicircle_radius | dimension | 半圆的半径 |
cv_is_semicircle_top | boolean | 是否绘制顶部半圆锯齿 |
cv_is_semicircle_bottom | boolean | 是否绘制底部半圆锯齿 |
cv_is_semicircle_left | boolean | 是否绘制左侧半圆锯齿 |
cv_is_semicircle_right | boolean | 是否绘制右侧半圆锯齿 |
cv_is_dash_line_top | boolean | 是否绘制顶部虚线 |
cv_is_dash_line_bottom | boolean | 是否绘制底部虚线 |
cv_is_dash_line_left | boolean | 是否绘制左侧虚线 |
cv_is_dash_line_right | boolean | 是否绘制右侧虚线 |
cv_dash_line_margin_top | dimension | 顶部虚线距离View顶部的距离 |
cv_dash_line_margin_bottom | dimension | 底部虚线距离View底部的距离 |
cv_dash_line_margin_left | dimension | 左侧虚线距离View左侧的距离 |
cv_dash_line_margin_right | dimension | 右侧虚线距离View右侧的距离 |
添加到你的xml
<chingtech.library.widget.CouponView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/couponView"
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@color/colorAccent"
android:orientation="vertical"
android:padding="10dp"
app:cv_dash_line_color="@android:color/white"
app:cv_dash_line_gap="5dp"
app:cv_dash_line_height="0.8dp"
app:cv_dash_line_length="10dp"
app:cv_dash_line_margin_bottom="5dp"
app:cv_dash_line_margin_left="5dp"
app:cv_dash_line_margin_right="5dp"
app:cv_dash_line_margin_top="8dp"
app:cv_is_dash_line_bottom="true"
app:cv_is_dash_line_left="true"
app:cv_is_dash_line_right="true"
app:cv_is_dash_line_top="false"
app:cv_is_semicircle_bottom="false"
app:cv_is_semicircle_left="false"
app:cv_is_semicircle_right="false"
app:cv_is_semicircle_top="true"
app:cv_semicircle_color="@android:color/white"
app:cv_semicircle_gap="4dp"
app:cv_semicircle_radius="4dp">
</chingtech.library.widget.CouponView>
===========================================================================================
自定义属性
自定义属性 | 格式 | 说明 |
---|---|---|
image | reference | 图片 |
sqNot | boolean | false是深浅计算,true是浅深计算 |
starWhat | boolean | 是否执行效果 |
roundRimColor | color | 圆边颜色设置 |
roundRimSize | integer | 圆边大小设置 |
===========================================================================================
自定义属性
name | format | description |
---|---|---|
lv_text | string | 设置文字内容 |
lv_text_color | color | 设置文字颜色,默认#ffffff |
lv_text_size | dimension | 设置文字大小,默认11sp |
lv_text_bold | boolean | 设置文字是否支持加粗,默认true |
lv_text_all_caps | boolean | 设置文字是否支持全部大写,默认true |
lv_background_color | color | 设置背景颜色,默认"#FF4081" |
lv_min_size | dimension | 设置LabelView所在矩形最小宽高,默认mFillTriangle?35dp:50dp |
lv_padding | dimension | 设置文字上下padding,默认3.5dp,mFillTriangle为true时无效 |
lv_gravity | enum | 设置LabelView方向,支持左上或右上或左下或右下,默认左上 |
lv_fill_triangle | boolean | 设置是否填充三角区域,默认false |
===========================================================================================
- Gson
- GreenDao
- SmartRefreshLayout # 刷新
- PinLockView # 数字密码锁
- PatternLockView # 九宫格密码锁
- CompactCalendarView # 日历
- Bugly
- PictureSelector # 图片选择库
- butterknife
- okhttp+retrofit+rxjava
- BGABanner-Android # 引导界面滑动导航 + 大于等于1页时无限轮播 + 各种切换动画轮播效果
- 等等。。。
【0.3.0】
add MarqueeView
add CircleMenu
add AnimNumberTextView
add ThreeStateSwitch
add SwitchIconView
add DescProgressView
add WavyLineView
add CouponView
add RippleView
【0.2.2】
更改刷新为SmartRefresh
更改网络加载为okhttp+retrofit+rxjava
更改注解为butterknife
添加RulerView
等
【0.1.9】
添加StateView
添加PictureSelector使用
添加Bugly更新使用
添加IndexBar,InadexLayout
添加NormalDecoration
添加Banner的使用
添加RoundTextView
【0.1.7】
添加动画工具类方法
完善工具类方法
添加RangeSeekBar
添加加密算法
添加对lanmbda表达式的支持
添加SwitchButton
配置JitPack.io
【0.1.4】
完善TimeUtils
添加AnimatorUitls方法
添加雷达图library
添加BaseApplication
添加NumberProgressBar
添加UpdateAppDialog
删除GifMovieView
删除HorizontalProgressDialog
【0.1.3】
添加 Glide 下的 Transformations
修改BUG
【0.1.1】
添加 SearchView
添加 GifMovieView
添加 ConversionUtils
修改 TimeUtils
修改包结构
【0.1.0】
添加 ExpandTextView 可展开、折叠的TextView
修改自定义AlertDialog,添加更多属性
添加 RecyclerViewBanner 广告轮播
添加 SmallBang
添加 WaveLoadingView 水波效果
添加工具类AnimatorUitls、RandomUtils,完善AppUitls
【0.0.9】
添加 LoadingView 加载动画
更新Android 轻量级适配器,添加TextView一些属性
【0.0.8】
RecyclerView嵌套RecyclerView;
添加 LabelView 角标
【0.0.7】
StringUtils、TimeUtils、ViewUtils类中添加新的方法;
添加 SwipeToLoadLayout 下拉刷新上拉加载
【0.0.6】
修改ProgressDialog
【0.0.5】
添加HorizontalProgressDialog;
添加StatusBarHelper;
去掉枚举并转换成Integer,避免增加app的class.dex文件的大小
【0.0.4】
添加BottomDialog和NumberAnimTextView
【0.0.3】
添加完善工具类;
添加自定义控件“可翻转的View,仿支付宝-蚂蚁宝卡里流量兑换的翻转View”
【0.0.2】
添加工具类;
ExpandIcon
【0.0.1】
创建项目,添加了一些工具类