自定义Dialog类
package com.jibaowang.chat.dialog;
import android.app.Dialog;
import android.content.Context;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.EditText;
import com.jibaowang.chat.R;
import com.jibaowang.chat.utils.DensityUtil;
public class DialogJob implements View.OnClickListener {
private Dialog mDialog;
private EditText et_wirte;
public DialogJob(Context context, IOnSexChanger onSexChanger){
mIOnSexChanger = onSexChanger;
initView(context);
}
public void initView(Context context){
if(null ==context){
return;
}
mDialog = new Dialog(context, R.style.dialog);
mDialog.setCanceledOnTouchOutside(true);//设置点击弹窗外消失
mDialog.setContentView(R.layout.dialog_job);
mDialog.findViewById(R.id.iv_btn_cancle).setOnClickListener(this);
mDialog.findViewById(R.id.iv_btn_submit).setOnClickListener(this);
et_wirte=(EditText)mDialog.findViewById(R.id.et_wirte);
Window win = mDialog.getWindow(); //给窗体设置大小
win.getDecorView().setPadding(0, 0, 0, 0);
WindowManager.LayoutParams lp = win.getAttributes();
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = DensityUtil.dp2px(context,160);
win.setGravity(Gravity.CENTER);
win.setAttributes(lp);
}
public void show(){
if(null != mDialog){
mDialog.show();
}
}
public void dismiss(){
if(null != mDialog && mDialog.isShowing()){
mDialog.dismiss();
}
}
@Override
public void onClick(View v) {
if(v.getId()==R.id.iv_btn_cancle){
dismiss();
}else if(v.getId()==R.id.iv_btn_submit){
String strname = et_wirte.getText().toString();
mIOnSexChanger.onJobChangerLitener(strname);
dismiss();
}
dismiss();
}
private IOnSexChanger mIOnSexChanger;
public interface IOnSexChanger{
void onJobChangerLitener(String strname);
}
}
HeadPhotoPop类
package com.jibaowang.chat.pop;
import android.content.Context;
import android.graphics.drawable.BitmapDrawable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import com.jibaowang.chat.R;
/**
* @author Tank
* @time 2017/9/1 15:49
* @desc 拍照选择照片弹框
*/
public class HeadPhotoPop {
private Context mContext;
private PopupWindow mPopWindow = null;
private OnPopSelectListener mListener;
public HeadPhotoPop(final Context context, final OnPopSelectListener listener) {
mContext = context;
mListener = listener;
mPopWindow = new PopupWindow(context);
View view = LayoutInflater.from(context).inflate(R.layout.pop_headphoto, new LinearLayout(context), false);
mPopWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
mPopWindow.setHeight(ViewGroup.LayoutParams.MATCH_PARENT);
mPopWindow.setBackgroundDrawable(new BitmapDrawable());
mPopWindow.setFocusable(true);
mPopWindow.setOutsideTouchable(true);
mPopWindow.setContentView(view);
View.OnClickListener clickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
switch (v.getId()) {
case R.id.tv_pop_opencamare:
listener.onJumpCamare();
break;
case R.id.tv_pop_choicephoto:
listener.onChoicePhoto();
break;
case R.id.tv_pop_cancel:
dismiss();
break;
case R.id.v_view:
dismiss();
break;
}
}
};
view.findViewById(R.id.tv_pop_opencamare).setOnClickListener(clickListener);
view.findViewById(R.id.tv_pop_choicephoto).setOnClickListener(clickListener);
view.findViewById(R.id.tv_pop_cancel).setOnClickListener(clickListener);
view.findViewById(R.id.v_view).setOnClickListener(clickListener);
}
public void dismiss() {
mPopWindow.dismiss();
}
public void show(View v) {
mPopWindow.showAtLocation(v, Gravity.BOTTOM, 0, 0);
}
public interface OnPopSelectListener {
void onJumpCamare();
void onChoicePhoto();
}
}
<!--dialog样式-->
<style name="dialog" parent="@android:style/Theme.Dialog" tools:ignore="ResourceName">
<item name="android:windowIsFloating">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>