不打算详细讲解,只给出大体思路,方便自己记忆。
1.继承dialog
2.覆盖oncreate()方法,在里面放入自己的布局,其它什么点击操作的和普通Activiyli一样,它本身就相当于个activity
3.自己写构造方法,唯一需要注意点的就是dialog可以设置一些属性,比如不要dialog的titlte。
4.使用时,初始化后调用.show()即可
附上一个自己写的代码:
public class UpdateVersionDialog extends Dialog{ @InjectView(R.id.content) TextView txtContent; private Context context; private String updateContent; public UpdateVersionDialog(Context context,String updateContent) { super(context, R.style.action_sheet); this.context=context; this.updateContent=updateContent; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.update_version_dialog); ButterKnife.inject(this); Window win = this.getWindow(); win.getDecorView().setPadding(0, 0, 0, 0); WindowManager.LayoutParams lp = win.getAttributes(); lp.width = WindowManager.LayoutParams.MATCH_PARENT; lp.height = WindowManager.LayoutParams.WRAP_CONTENT; win.setAttributes(lp); initView(); } @Override public void dismiss() { super.dismiss(); } private void initView(){ if(updateContent!=null){ txtContent.setText(updateContent); } } @OnClick(R.id.txt_dismiss) public void txtDismiss(){ dismiss(); } @OnClick(R.id.txt_update) public void txtUpdate(){ //TODO Toast.makeText(context,"坐等更新操作",Toast.LENGTH_SHORT).show(); } }