查看在线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,布局中直接使用
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);
九宫格解锁
LockScreenView中有个setOnLockSuccessListener方法其中有两个方法,getLockResult表示返回你想判断的结果的字符串,onLockSuccess表示密码正确后的回掉
图片预览控件封装
PicturePreview.create(context = mContext!!)
.origin(images)//加载本地图片
.originUrl(imagesUrl)//加载网络图片
.showBottomView(true)//是否显示底部已选择页面 false不显示
.showTitleLeftBack(true)//是否显示title的返回按钮
.showTitleRightIcon(true)//是否显示右边已选择图标
.forResult(null)//设置选择之后的回调
悬浮按钮的实现
一行代码就可以了,如果想修改图标大小和位置,可以在构造函数中设置
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)
文本高亮组件封装
//第一种加载方式
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()