去年年底开始独立开发了一个完整的项目,期间老板需求改了无数,如今总算接近尾声。现开始开发一个新的项目,在此之前,先整理一下之前所用到的一些实用的控件或组件吧。
1.下拉刷新,上拉加载控件----------TwinklingRefreshLayout
对于一个android开发者来说,这样的一个控件应该是必不可少的。之前也有找过一些其他的加载控件,但要么是只有刷新的功能,要么只有加载的功能。都不是很符合我的需求。直到看到了这个控件,堪称完美。
主要特性:
- 1.支持recycleView、ListView、ScrollView、GridView、webView等。
- 2.支持纯净的越界回弹效果,类似ios自带的越界回弹动画。相信也有不少同学会为了实现这个效果而再去网上找资料寻找实现方式。
- 3.TwinklingRefreshLayout里面自带了几种常用的刷新或加载动画,没有特殊要求的同学可以直接使用就是。如果需要实现特殊的加载动画效果,TwinklingRefreshLayout提供IHeadView,IBottomView接口。
githup地址: https://github.com/lcodecorex/TwinklingRefreshLayout
详细介绍:http://www.jianshu.com/p/5ed4813b86cf
2.仿微信的图片选择器----------PhotoPicker
记得之前有一个同学问我可不可以帮他写一个图片选择器的控件,我有点懵。我可没那么厉害,可以给你写出一个这样的控件来。然后我给他推荐了这个组件。githup上点赞两千颗星,所以还是很强大的。
使用方法:
1.添加依赖
compile 'me.iwf.photopicker:PhotoPicker:0.9.5@aar'
2.需要在清单文件中注册PhotoPickerActivity和PhotoPagerActivity
<activity android:name="me.iwf.photopicker.PhotoPickerActivity"
android:theme="@style/Theme.AppCompat.NoActionBar"
/>
<activity android:name="me.iwf.photopicker.PhotoPagerActivity"
android:theme="@style/Theme.AppCompat.NoActionBar"/>
3.使用
PhotoPicker.builder().setPhotoCount(9).setGridColumnCount(3).start(this, requestCode);
4.选择后的回调
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
ArrayList<String> imagesPath = data.getStringArrayListExtra(PhotoPicker.KEY_SELECTED_PHOTOS);
//根据上一步传过来的requestCode的值来判断为哪一个的返回结果
}
}
3.ViewPager的指示器动画----------CircleIndicator
我还是比较喜欢那种除了本身自带一些基础动画效果,还能实现自定义的一些效果,比较灵活。
使用方法:
**1.添加依赖 **
compile 'me.relex:circleindicator:1.2.2@aar'
2.在xml文件中添加CircleIndicator
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v4.view.ViewPager
android:background="@color/lineColor"
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="@dimen/home_viewPager_hight"/>
<me.relex.circleindicator.CircleIndicator
android:id="@+id/circleindicator"
app:ci_drawable="@drawable/icon_dot_per"
app:ci_drawable_unselected="@drawable/icon_dot"
android:layout_gravity="bottom|right"
android:layout_marginBottom="20dp"
android:layout_marginRight="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</FrameLayout>
3.将ViewPager与CircleIndicator关联
circleindicator.setViewPager(viewPager);
特别想介绍的两个属性:
- app:ci_drawable : 当前被选中的指示器图片
- app:ci_drawable_unselected:未被选中的指示器图片
就是因为这两个属性才喜欢上这个控件!
4.点赞动画效果的自定义View----------goodview
其实一开始是没有想过说在点赞的时候加上一个动画效果的,不过做项目的时候看到ios做了一个点赞的动画效果。总不能ios的做了动画效果,但android就死板板的换一下图片就是吧,显得我技术多菜(虽然本来就菜,但总不能让老板感觉差距太大)。于是在网上找到了这个控件,觉得还是挺实用的。
使用方法:
1.添加依赖
compile 'com.wx.goodview:goodview:1.0.0'
2.java
final GoodView goodView = new GoodView(this);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
goodView.setText("+1");
goodView.show(v);
}
});
githup地址:https://github.com/venshine/GoodView
5.圆形图片控件----------circleimageview
这个已经是个要被推烂了的控件了,网上一搜都是好多关于它的使用方法什么的。只能证明人家真的很实用。
放链接:
githup地址:https://github.com/hdodenhof/CircleImageView
详细介绍:http://blog.csdn.net/zhoubin1992/article/details/47258639
本文不定期更新中。。。。