压箱底的Android UI开源库(二)

1.图片、视频和文档选择库

  • https://github.com/lovetuzitong/MultiImageSelector
  • https://github.com/bingoogolapple/BGAPhotoPicker-Android
  • https://github.com/crazycodeboy/TakePhoto
  • https://github.com/FinalTeam/RxGalleryFinal
  • https://github.com/Bilibili/boxing
  • https://github.com/zhihu/Matisse
  • https://github.com/donglua/PhotoPicker
  • https://github.com/lovetuzitong/MultiImageSelector
  • https://github.com/LuckSiege/PictureSelector
  • https://github.com/fishwjy/MultiType-FilePicker
  • https://github.com/DroidNinja/Android-FilePicker

2.RecyclerView的多布局适配器

  • https://github.com/drakeet/MultiType
  • https://github.com/CymChad/BaseRecyclerViewAdapterHelper
  • https://github.com/CarGuo/LazyRecyclerAdapter

3.圆形图片控件

  • https://github.com/hdodenhof/CircleImageView
  • https://github.com/vinc3m1/RoundedImageView
  • https://github.com/suzeyu1992/SImageView

4.Banner轮播图

  • https://github.com/hejunlin2013/SuperIndicator
  • https://github.com/youth5201314/banner
  • https://github.com/bingoogolapple/BGABanner-Android
  • https://github.com/GitPhoenix/ADViewPager
  • https://github.com/pinguo-zhouwei/MZBannerView

5.图片缩放

  • https://github.com/chrisbanes/PhotoView
  • https://github.com/crazyandcoder/ImageZoom
  • https://github.com/HuTianQi/CoolImageView

6.极具iOS风格的开关

  • https://github.com/zcweng/SwitchButton

7.今日头条适配方案

  • https://github.com/JessYanCoding/AndroidAutoSize

8.水波纹

  • https://github.com/1139618418/WaveView
  • https://github.com/AndroidMsky/BitmapWaveView
  • https://github.com/scwang90/MultiWaveHeader

9.各种地址、日期选择器

  • https://github.com/zyyoona7/WheelPicker
  • https://github.com/crazyandcoder/citypicker
  • https://github.com/AigeStudio/WheelPicker
  • https://github.com/Bigkoo/Android-PickerView

系统权限申请库

  • 权限申请库:https://github.com/permissions-dispatcher/PermissionsDispatcher
  • 权限申请库:https://github.com/getActivity/XXPermissions


这是一个高仿 IOS PickerView 控件的。代码来自:https://github.com/saiwu-bigkoo/Android-PickerView ,在原有代码基础上进行封装,并提供了一些修改属性方法。后期如有时间,将会对原有代码进行优化。预览使用首先需要在 build.gradle 文件中添加依赖:dependencies {    compile 'com.airsaid.library:pickerviewlibrary:1.0.0' }添加好依赖后,重新同步工程。可根据需求使用如下选择器:城市选择:        CityPickerView mCityPickerView = new CityPickerView(this);         // 设置点击外部是否消失 //        mCityPickerView.setCancelable(true);         // 设置滚轮字体大小 //        mCityPickerView.setTextSize(18f);         // 设置标题 //        mCityPickerView.setTitle("我是标题");         // 设置取消文字 //        mCityPickerView.setCancelText("我是取消文字");         // 设置取消文字颜色 //        mCityPickerView.setCancelTextColor(Color.GRAY);         // 设置取消文字大小 //        mCityPickerView.setCancelTextSize(14f);         // 设置确定文字 //        mCityPickerView.setSubmitText("我是确定文字");         // 设置确定文字颜色 //        mCityPickerView.setSubmitTextColor(Color.BLACK);         // 设置确定文字大小 //        mCityPickerView.setSubmitTextSize(14f);         // 设置头部背景 //        mCityPickerView.setHeadBackgroundColor(Color.RED);         mCityPickerView.setOnCitySelectListener(new CityPickerView.OnCitySelectListener() {             @Override             public void onCitySelect(String str) {                 Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();             }         });         mCityPickerView.show();时间选择: //     TimePickerView 同样有上面设置样式的方法         TimePickerView mTimePickerView = new TimePickerView(this, TimePickerView.Type.YEAR_MONTH_DAY);         // 设置是否循环 //        mTimePickerView.setCyclic(true);         // 设置滚轮文字大小 //        mTimePickerView.setTextSize(TimePickerView.TextSize.SMALL);         // 设置时间可选范围(结合 setTime 方法使用,必须在) //        Calendar calendar = Calendar.getInstance(); //        mTimePickerView.setRange(calendar.get(Calendar.YEAR) - 100, calendar.get(Calendar.YEAR));         // 设置选中时间 //        mTimePickerView.setTime(new Date());         mTimePickerView.setOnTimeSelectListener(new TimePickerView.OnTimeSelectListener() {             @Override             public void onTimeSelect(Date date) {                 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);                 Toast.makeText(MainActivity.this, format.format(date), Toast.LENGTH_SHORT).show();             }         });         mTimePickerView.show();选项选择:        OptionsPickerView<String> mOptionsPickerView = new OptionsPickerView<>(this);         final ArrayList<String> list = new ArrayList<>();         list.add("男");         list.add("女");         // 设置数据         mOptionsPickerView.setPicker(list);         // 设置选项单位 //        mOptionsPickerView.setLabels("性");         mOptionsPickerView.setOnOptionsSelectListener(new OptionsPickerView.OnOptionsSelectListener() {             @Override             public void onOptionsSelect(int option1, int option2, int option3) {                 String sex = list.get(option1);                 Toast.makeText(MainActivity.this, sex, Toast.LENGTH_SHORT).show();             }         });         mOptionsPickerView.show();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值