Skip to content

zjunch/zjcTools

Repository files navigation

zjcTools常用工具库,

最新 com.github.zjunch:zjcTools:1.0.0

包含用基类,activity,fragment,app 工具类:toast,bitmap,file,date,router color string.log.. app更新,图片选择,权限申请 简单view,设置类型view(ZSettingView) 九宫格图片(ZNinePicturesView), 点赞头像堆叠(ZPileLayout), recycleview分割线(ZItemDecoration),

引用方式: 一 、项目 allprojects { repositories { ... maven { url 'https://jitpack.io' } } }

二 、module: implementation 'com.github.zjunch:zjcTools:1.0.0'

三 、初始化工具 ZTools.init(this);

东西很简单,都是日常自己常用的东西,列下简单使用说明:防止吃瓜的时候忘了怎么用

1.沉浸式使用: 已经在基类ZBActivity 实现,只需继承即可

2.动态权限申请:

//单个权限
//        ZPermissionBean bean=    new ZPermissionBean(Manifest.permission.ACCESS_FINE_LOCATION,"定位", "获取你的位置,和好友分享位置信息");
//        ZPermission.getInstance(mActivity)
//                .setPermission(bean)
//                .requestPermission(new ZPermission.PCallback() {
//                    @Override
//                    public void onReject() {}
//
//                    @Override
//                    public void onComplete() {}
//                });


//多个权限

//        list.add(new ZPermissionBean(Manifest.permission.READ_CONTACTS,"通讯录", "邀请通讯录好友,请允许我们获取访问通讯录权限,否则你     //         将无法邀请通讯录好友"));
//        list.add(new ZPermissionBean(Manifest.permission.ACCESS_FINE_LOCATION,"定位", "获取你的位置,和好友分享位置信息"));
//        ZPermission.getInstance(mActivity)
////                .setEnableDialog(false)
////                .setPermissionList(list)
////                .requestPermission(new ZPermission.PCallback() {
////                    @Override
////                    public void onReject() {}
////
////                    @Override
////                    public void onComplete() {}
////                });

3.图片选择

 多选:
 List<ZPictureBean> selecteds = new ArrayList<>();  //selecteds 已经选择过的图片
 ZIMManager.showMultiPicker(mActivity, 9, selecteds);
 
 单选:
 ZIMManager.showSinglePicker(mActivity);
 
 
  @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode != RESULT_OK || data == null) {
        return;
    }
    if (requestCode == ZConstant.ZJC_PICK_REQUEST_CODE) {//返回图片 集合
        List<ZPictureBean> result = ZPicker.getInstance().getResultData();
    }
}

//此处为图片压缩,已经做了避免重复压缩
 ZCompressUtils zCompressUtils=new ZCompressUtils();
        zCompressUtils.compressPictures(selecteds, new ZCompressUtils.CompressImageListener() {
            @Override
            public void onComplete() {
                ZToast.create().showSuccessBottom("压缩完成");
            }

            @Override
            public void onError(String errorMsg) {
                ZToast.create().showErrorBottom(errorMsg);
            }
        });

//图片预览 photoView 缩放
   ZParams params = new ZParams();
    params.what = position;   //第一个展示得位置
    params.strList = pictureList; //图片的地址集合
    Intent intent = new Intent(context, ZDisplayMultiActivity.class);
    putParams(intent, params);
    context.startActivity(intent);

4.常用toast

       ZToast.create().showNormal("正常的");
       ZToast.create().showCenter("中间的");
       ZToast.create().showSuccessBottom("底部成功");
       ZToast.create().showSuccessCenter("中间成功");
       ZToast.create().showSuccessCenter("中间成功");
       ZToast.create().showErrorBottom("底部失败");
       ZToast.create().showErrorCenter("中间失败");

5.九宫格图片ZNinePicturesView

    布局中使用实例
    <com.android.zjctools.widget.nineimages.ZNinePicturesView
            android:id="@+id/ninePics"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:zjc_nine_full_One="true"
            app:zjc_nine_max_counts="9"
            app:zjc_nine_average2_enable="true"
            app:zjc_nine_show_un_counts="true"
            app:zjc_nine_spacex="4"
            app:zjc_nine_spacey="4"/>
    
   布局中使用实例
 <declare-styleable name="ZNinePicturesView">
    <attr name="zjc_nine_spacex" format="integer"/><!--x 间距-->
    <attr name="zjc_nine_spacey" format="integer"/><!--y 间距-->
    <attr name="zjc_nine_average2_enable" format="boolean"/><!--两张图张图一行两个-->
    <attr name="zjc_nine_average4_enable" format="boolean"/><!--四张图一行两个-->
    <attr name="zjc_nine_12_Enable" format="boolean"/><!--三张图 左边一个右边两个-->
    <attr name="zjc_nine_max_counts" format="integer"/><!--最多显示多少张-->
    <attr name="zjc_nine_full_One" format="boolean"/><!--一张图的时候,一行一张- 默认16/9->
    <attr name="zjc_nine_show_un_counts" format="boolean"/><!--是否有未展示的图片个数的文字显示-->
    <attr name="zjc_nine_un_counts_textColor" format="color" /><!--未读图片个数的文字颜色-->
    <attr name="zjc_nine_un_counts_textSzie" format="integer"/><!--未读图片个数的文字大小-->
</declare-styleable>

6.点赞头衔堆叠ZPileLayout

  布局使用
  <com.android.zjctools.widget.PileLayout
  android:id="@+id/apply_pile_layout"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_centerVertical="true"
  app:zjc_pileLayout_pileWidth="16dp" />   此处16dp是重叠宽度

  添加需要堆叠的view
  zileLayout.addView(avtatView);

7.ZsettingView(类似于设置菜单,左侧是菜单名字,有侧是描述或者选择箭头)

 xml 布局如下
   <com.android.zjctools.widget.ZSettingView
            android:layout_marginTop="10dp"
            android:background="@color/white"
            android:id="@+id/svCompany"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="12dp"
            android:paddingRight="12dp"
            app:zjc_sv_desc_Hint="请输入"    
            app:zjc_sv_Line_enable="true"
            app:zjc_sv_title_text="单位名称" />   

8.ZSettingInputView(类似于ZsettingView,左侧是菜单名字,右侧是输入框)

      <!--是否显示底部分隔线-->
    <attr name="zjc_siv_Line_enable" format="boolean" />
    <!--标题-->
    <attr name="zjc_siv_title_text" format="string" />
    <!--底部分隔线颜色-->
    <attr name="zjc_siv_line_color" format="color" />
    <!--右侧输入框hint-->
    <attr name="zjc_siv_hint_text" format="string" />
    <!--右侧输入框最多字符-->
    <attr name="zjc_siv_max_counts" format="integer" />

9.ZSearchView(搜索框)

     <declare-styleable name="ZSearchView">
    <!--是否显示清除-->
    <attr name="zjc_srv_clear_enable" format="boolean" />
    <!--输入框search-->
    <attr name="zjc_srv_search_hint" format="string" />
    <!--是否有输入功能-->
    <attr name="zjc_srv_search_input_enable" format="boolean" />

    <!--是否显示右侧搜索文字-->
    <attr name="zjc_srv_right_tv_search_enable" format="boolean" />

    <!--右侧搜索icon-->
    <attr name="zjc_srv_right_iv_search_icon" format="reference" />
    <!--是否显示右侧搜索文字-->
    <attr name="zjc_srv_right_iv_search_enable" format="boolean" />
    <!--左侧侧搜索icon-->
    <attr name="zjc_srv_left_iv_search_icon" format="reference" />

  </declare-styleable>