您的位置:首页 > 移动开发 > Android开发

一个android的dialog框架

2017-01-11 09:55 369 查看

AndroidSuperDialog

基于
DialogFragment
封装,支持自定义边框圆角、背景透明度、字体大小与色值等。 列表选择框可以接收
List
Arrays
的数据源,。 初衷是掌握知识点,此库不一定适合你的产品整体风格,当然能够适合你的项目最好不过,有建议和不足之处欢迎骚扰,话不多说先上图。







android studio中

引入

compile 'com.mylhyl:superDialog:1.0.11'

使用

简单的对话框
new SuperDialog.Builder(this).setRadius(10)
.setAlpha(0.5f)
.setTitle("标题").setMessage("可以看到?")
.setPositiveButton("确定", new SuperDialog.OnClickPositiveListener() {
@Override
public void onClick(View v) {
Toast.makeText(v.getContext(), "点了确定", Toast.LENGTH_LONG).show();
}
}).build();
选择对话框
//final String[] strings = {"拍照", "从相册选择", "小视频"};
List<People> list = new ArrayList<>();
list.add(new People(1,"拍照"));
list.add(new People(2,"从相册选择"));
list.add(new People(3,"小视频"));
new SuperDialog.Builder(this)
//.setAlpha(0.5f)
//.setGravity(Gravity.CENTER)
//.setTitle("上传头像", ColorRes.negativeButton)
.setCanceledOnTouchOutside(false)
.setItems(list, new SuperDialog.OnItemClickListener() {
@Override
public void onItemClick(int position) {
Toast.makeText(MainActivity.this, strings[position], Toast.LENGTH_LONG).show();
}
})
.setNegativeButton("取消", null)
.build();
宽度
setWidth(@FloatRange(from = 0.0, to = 1.0) float width)

边距
setPadding(int left, int top, int right, int bottom)

动画
setWindowAnimations(int animStyle)

列表框距离下方按钮的间距
setItemsBottomMargin(int bottomMargin)

指定位置显示
setShowAtLocation(int gravity, int x, int y)

设置背景是否昏暗
setDimEnabled(boolean dimEnabled)

setConfigDialog
更多使用
.setConfigDialog(new SuperDialog.ConfigDialog() {
@Override
public void onConfig(Dialog dialog, Window window, WindowManager
.LayoutParams wlp, DisplayMetrics dm) {
window.setWindowAnimations(R.style.dialogWindowAnim);//动画
wlp.y = 100;//底部距离
}
})

说明

* 此库自动将px转换百分比,由于 Dialog 布局一般只有微调,暂时只支持textSize,height,padding
* 默认字体大小;Title、message、button、padding 的px在设计稿为 1080 * 1920 的尺寸
* 所以使用时设计稿尺寸一定是1080 * 1920
github地址:https://github.com/mylhyl/AndroidSuperDialog
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐