前阵子一直比较忙,所以没怎么写。其实感觉项目中实用好东东还是挺多的,今天就来分享一个DialogFragment的简单使用和利用自定义接口来实现点击事件。
关于DialogFragment和dialog的具体区别,感兴趣的可以自己去了解学习。
因为之前项目是只能竖屏,所以当时没有考虑到横竖屏切换问题,等自己写demo的时候才发现,刚好在这里一并解决此问题。老规矩,先看效果图:
对就是这个样子。下来看看具体实现
1.ShareScoreDialog
package com.dialogfragmentdemo;
import android.app.Dialog;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;
import android.widget.TextView;
/**
* Created by nanfeilong on 2017/6/6.
* 查看签到dialog
*/
public class ShareScoreDialog extends DialogFragment implements View.OnClickListener {
TextView wx, wxq, qq;
ImageView close;
// private MyCheckDialogListener myCheckDialogListener;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Dialog dialog = null;
dialog = new Dialog(getActivity(),0);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);//代码中取消标题栏
dialog.setContentView(R.layout.dialog_new_share_layout);
dialog.getWindow().setBackgroundDrawable(newColorDrawable(android.graphics.Color.TRANSPARENT));
wx = dialog.findViewById(R.id.share_weichat_dialog); //微信
wxq = dialog.findViewById(R.id.share_weichat_friendq_dialog);//朋友圈
qq = dialog.findViewById(R.id.share_qq_dialog);//qq
close =dialog.findViewById(R.id.close);//右上角的叉
wx.setOnClickListener(this);
wxq.setOnClickListener(this);
qq.setOnClickListener(this);
close.setOnClickListener(this);
return dialog;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.close:
dismiss();
break;
case R.id.share_weichat_dialog:
dismiss();
if(shareScoreDialogListener!=null)
shareScoreDialogListener.share(1);
break;
case R.id.share_weichat_friendq_dialog:
dismiss();
if(shareScoreDialogListener!=null)
shareScoreDialogListener.shar