Android 仿IOS 样式的 dailog

作者: Allens_Jiang | 来源:发表于2018-05-06 12:24 被阅读219次

一: 效果图

dialog.gif

GitHub地址 JiangHaiYang01/IOS_Dialog

二: 使用

Step 1. Add it in your root build.gradle at the end of repositories:

    allprojects {
        repositories {
            ...
            maven { url 'https://www.jitpack.io' }
        }
    }

Step 2. Add the dependency

    dependencies {
            implementation 'com.github.JiangHaiYang01:IOS_Dialog:1.0.0'
    }

三.使用说明

1. 底部弹出

        findViewById(R.id.btn_1).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new IosSheetDialog(MainActivity.this)
                        .builder()
                        .setCancelable(true)
                        .setCancelOutside(true)
                        .setTitle("设置头像")
                        .setTitleColor(Color.GRAY)
                        .setTitleSize(14)
                        .setCancelTvMsg("取消")
                        .setCancelTvColor(Color.RED)
                        .setCancelTvSize(16)
                        .setItemTextSize(18)
                        .setItemHeight(45)
//自定义颜色
                        .addSheetItem("相册",Color.RED, new IosSheetDialog.OnSheetItemClickListener() {
                            @Override
                            public void onClick(int which) {
                                Toast.makeText(MainActivity.this, which + "", Toast.LENGTH_SHORT).show();
                            }
                        })
//使用默认颜色
                        .addSheetItem("拍照", new IosSheetDialog.OnSheetItemClickListener() {
                            @Override
                            public void onClick(int which) {
                                Toast.makeText(MainActivity.this, which + "", Toast.LENGTH_SHORT).show();
                            }
                        })
                        .show();


            }
        });

其他API

//设置取消的文字
 public IosSheetDialog setCancelTvMsg(String msg) {
//设置取消的字体大小
    public IosSheetDialog setCancelTvSize(int size) {
//设置取消的颜色
    public IosSheetDialog setCancelTvColor(int color) {
//设置标题颜色
    public IosSheetDialog setTitleColor(int color) {
//设置标题大小
    public IosSheetDialog setTitleSize(int size) {
//设置item 字体大小
    public IosSheetDialog setItemTextSize(int size) {
//设置item  高度
    public IosSheetDialog setItemHeight(int height) {
//设置最大数目多少时候  会有滚动效果
    public IosSheetDialog setMaxItemSize(int maxItemSize) {
//获取item  的tv
    public TextView getItemTextView(int pos) {
//返回title  tv
    public TextView getTitleTv() {
  //返回 取消 tv
    public TextView getCancelTv() {

2. 标准样式的dialog

   findViewById(R.id.btn_2).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new IosDialog(MainActivity.this)
                        .builder()
                        .setCancelable(true)
                        .setCancelOutside(true)
                        .setTitle("标题")
                        .setMsg("内容")
                        .setDialogWidth(0.9f)

                        .setPositiveButton("确定", new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT).show();
                            }
                        })
                        .setNegativeButton("取消", new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_SHORT).show();
                            }
                        })

                        .show();
            }
        });

还可以添加多个EditText


        findViewById(R.id.btn_4).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new IosDialog(MainActivity.this)
                        .builder()
                        .addEdit("1")
                        .setEditHint("1","123")
                        .addEdit("2")
                        .setEditHint("2","345")
                        .setCancelable(true)
                        .setCancelOutside(true)
                        .setTitle("标题")
                        .setMsg("内容")
                        .setDialogWidth(0.9f)
                        .setPositiveButton(new IosDialog.OnEdPositiveListener() {
                            @Override
                            public void onClick(View view, HashMap<String, String> msgMap) {
                                Toast.makeText(MainActivity.this, "msg: " + msgMap.toString(), Toast.LENGTH_SHORT).show();
                            }

                        })
                        .setNegativeButton("取消", new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_SHORT).show();
                            }
                        })

                        .show();
            }
        });

api

//设置对应edit  的hint
    public IosDialog setEditHint(String tag, String hint) {
//设置颜色
    public IosDialog setEditTextColor(String tag, int color) {
//padding
 public IosDialog setEditTextPadding(String tag, float left, float top, float right, float bottom) {
//marginn
   public IosDialog setEditTextMargin(String tag, float left, float top, float right, float bottom) {

//是否显示光标
    public IosDialog setCursorVisible(String tag, Boolean isShowCursor) {
//设置dialog  宽度
    public IosDialog setDialogWidth(float dialogWidth) {
//获取title
    public TextView getTxt_title() {
// 获取msg
    public TextView getTxt_msg() {
//获取确定按钮
    public Button getBtn_neg() {
//获取用于添加自定义控件的ll
    public LinearLayout getlLayout_alert_ll() {

相关文章

网友评论

  • 阿飞_1217:api写的很好
    Allens_Jiang:@阿飞_1217 哈哈 给个star 哈
  • 微凉一季:有什么意义,在android上反倒显得不伦不类。。。
    cyixlq:@Allens_Jiang 有些产品经理为了iOS和安卓达到统一效果有时候也会要求
    Allens_Jiang:等你家产品要你这样的样式你知道为什么了
  • 亚欧沙龙:不错不错

本文标题:Android 仿IOS 样式的 dailog

本文链接:https://www.haomeiwen.com/subject/taturftx.html