The Wayback Machine - https://web.archive.org/web/20200914043515/https://github.com/HoldMyOwn/TDialog
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
app
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

TDialog

Hello,这是一个仿IOS的Android自定义Dialog

使用简单.一行代码设置参数搞定,然后实现对应监听.监听参数包括两个.一个是对象(在当前类实现接口方法的时候,区分不同的TDialog对象). 另外一个是位置索引(通过下标区分第几个item被点击).

预览图:


用法:

       //参数:1:activity:需要获取窗口以及作为上下文参数
             2:风格(目前有中间显示和底部显示.包含有个字动画,而且可自己设定)
             3:对话框的条目
             4:标题(标题居中,如果不传则显示默认标题)
             5:消息:显示的提示文本
             6:监听对象:条目点击回调接口,推荐当前类实现.接口方法有对象参数可以识别是哪个TDialog.

      mTDialog = new TDialog(MainActivity.this, TDialog.Style.Center, {"取消", "确认"},
                 "中间对话框", "点击外部区域不可取消", this);
      //------可选操作,文本样式、消失监听、更改动画等......
      mTDialog.setItemTextColor(getResources().getColor(R.color.bgColor_overlay));
      mTDialog.setMsgTextColor(getResources().getColor(R.color.colorAccent));
      mTDialog.setItemTextColorAt(1, getResources().getColor(R.color.colorPrimary));
      mTDialog.setItemTextColorAt(2, getResources().getColor(R.color.colorAccent));
      mTDialog.setItemTextColorAt(10, getResources().getColor(R.color.colorAccent));
      mTDialog.setCancelable(false);
      mTDialog.setInAnim(AnimationUtils.loadAnimation(this,R.anim.slide_in_bottom1));
      mTDialog.setOutAnim(AnimationUtils.loadAnimation(this,R.anim.slide_out_bottom1))
      //---------------
      mTDialog.show();
 

  事件回调:

    //创建对象必须实现item点击监听,第一个参数是对象,区分哪个TDialog,
    //第二个参数是点击的位置,位置就是创建对象时候传入数组的下标.
    @Override
    public void onItemClick(Object object, int position) {
        if (object == mTDialog) {
            Toast.makeText(this, "" + position, Toast.LENGTH_SHORT).show();
            if (position == 0) {
            //任何item点击都会正常消失TDialog对象(内部后续调用dismiss方法),dismissImmediately方法
            //则会迅速消失掉TDialog对象,区别:dismiss()方法有消失动画,动画完毕之后真正消失
                mTDialog.dismissImmediately();
            }
        }
    }

    //可选监听,在Tdialog消失的时候触发,如果是点击Item则只触发itemClick回调,不会触发消失回调
    //当点击对话框内容外区域,如果设置监听并且控件是点击外边区域可取消类型.那么触发回调.
    @Override
    public void onDismissClick(Object object) {
        if (object == mTDialog) {
            Toast.makeText(this, "消失", Toast.LENGTH_SHORT).show();
        }
    }

 扩展功能:

       
    //一行代码添加View,软键盘事件可通过设置marginBottom属性兼容
    View inflate = LayoutInflater.from(this).inflate(R.layout.alertext_from, null);
    mTDialog.addView(inflate);

具体细节用法,下载查看Demo

模板依赖:  项目里面的tdialog模板(可更加灵活扩展)

gradle依赖:   compile 'com.jkt:tdialog:1.0.8'

You can’t perform that action at this time.