基本UI组件的封装库(三)——basicUI

查看在线pdf文档:
http://note.youdao.com/s/EM20Cggm

以下是我的基本UI组件该系列的文章,欢迎大家转载和分享:
基本UI组件的封装库(一)——basicUI
基本UI组件的封装库(二)——basicUI
基本UI组件的封装库(三)——basicUI
基本UI组件的封装库(四)——basicUI

Gradle依赖

  • 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 {
          implementation 'com.github.Peakmain:BasicUI:1.1.0-androidx'
    }

使用

loading效果


loading的效果.gif
视察动画的loading,布局中直接使用
    

activity中需要调用show方法来显示

  mInspectLoadingView.show();

隐藏只需要调用hide方法

mInspectLoadingView.hide();
仿钉钉的loading
    

默认设置的是全屏展示,如果想以loading的方式显示,可以调用show方法

        RotatingLoadingView rotatingLoadingView = new RotatingLoadingView(this);
        rotatingLoadingView.show();

隐藏还是hide方法

mLoadingView.hide();
仿58同城加载loading

默认也是全屏,如果想以loading显示,可以使用show方法

    ShapeLoadingView shapeLoadingView = new ShapeLoadingView(this);
    shapeLoadingView.show();
自定义支付密码键盘



  

  

  • PasswordEditText的相关方法:
    setPasswordCompleteListener表示设置完成
    addPasswordNumber表示添加号码
    deletePassWord表示删除号码
  • CustomerKeyboard
    CustomerKeyboardClickListener设置监听事件
   mCustomerKeyboard.setOnCustomerKeyboardClickListener(new CustomerKeyboard.CustomerKeyboardClickListener() {
            @Override
            public void click(String number) {
                mEditText.addPasswordNumber(number);
            }

            @Override
            public void delete() {
                 mEditText.deletePassWord();
            }
        });
        mEditText.setPasswordCompleteListener(ToastUtils::showShort);
自定义支付密码键盘.gif
九宫格解锁
    

LockScreenView中有个setOnLockSuccessListener方法其中有两个方法,getLockResult表示返回你想判断的结果的字符串,onLockSuccess表示密码正确后的回掉


九宫格解锁.gif

图片预览控件封装

PicturePreview.create(context = mContext!!)
        .origin(images)//加载本地图片
        .originUrl(imagesUrl)//加载网络图片
        .showBottomView(true)//是否显示底部已选择页面 false不显示
        .showTitleLeftBack(true)//是否显示title的返回按钮
        .showTitleRightIcon(true)//是否显示右边已选择图标
        .forResult(null)//设置选择之后的回调
image.png

悬浮按钮的实现

一行代码就可以了,如果想修改图标大小和位置,可以在构造函数中设置

val suspensionView = SuspensionView(this)
addContentView(suspensionView, FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT))
suspensionView.setSuspensionViewClick {
            ToastUtils.showLong("测试悬浮按钮的点击事件")
 }

源码构造函数

class SuspensionView @JvmOverloads constructor(context: Context, resId: Int = R.drawable.ui_ic_suspension_setting,
                                               imageViewSize: Float = 56f,//图标大小
                                               bottomMargin: Float = 60f,
                                               rightMargin: Float = 20f,
                                               attributeSet: AttributeSet? = null, defAttrStyle: Int = 0) 
1.gif

文本高亮组件封装

//第一种加载方式
mTvContent1.text = TextUtils.clipTextColor(mTvContent1.text.toString(), ContextCompat.getColor(this, R.color.colorAccent), mTvContent1.text.indexOf("加"), mTvContent1.length())
//第二种加载方式
TextUtils.Builder(mTvContent2)
        //第一个高亮的文本区域
        .setClipText(ContextCompat.getColor(this, R.color.colorAccent), mTvContent2.text.indexOf("加"), 7)
        .setOnClickableSpan(object : OnClickableSpan {
            override fun onClickableSpan(view: View) {
                ToastUtils.showShort("点击了“加载”")
            }

        })
        .setStyleSpan(Typeface.BOLD_ITALIC)
        .showUnderLine(true)
        //第二个高亮文本区域
        .setClipText(ContextCompat.getColor(this, R.color.colorAccent), mTvContent2.text.indexOf("点"), mTvContent2.length())
        .setAbsoluteTextSize(28)
        .setBackgroundColor(ContextCompat.getColor(this,R.color.color_CDCECE))
         .setOnClickableSpan(object : OnClickableSpan {
            override fun onClickableSpan(view: View) {
                ToastUtils.showShort("点击了“点击”")
            }
        })
        .create()
动画.gif

你可能感兴趣的:(基本UI组件的封装库(三)——basicUI)