基于DialogFragment
封装,支持自定义边框圆角、背景透明度、字体大小与色值等。
列表选择框可以接收List
与Arrays
的数据源,详细见demo
全代码创建shape
、selector
、Layout
,三大Layout
不用多讲,肯定都会的,主要是Shape
所使用类如下:
shape
对应ShapeDrawable
、RoundRectShape
selector
对应StateListDrawable
compile 'com.mylhyl:superDialog:1.0.1'
#使用 简单的对话框
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();
#说明 * 此库自动将px转换百分比,由于 Dialog 布局一般只有微调,暂时只支持textSize,height,padding * 默认字体大小;Title、message、button、padding 的px在设计稿为 1080 * 1920 的尺寸 * 所以使用时设计稿尺寸一定是1080 * 1920 QQ交流群:435173211