Create global class that will extend by the dialog classes
public class ExtendedDialog extends Dialog { public ExtendedDialog(Context context) { super(context, R.style.CustomDialog); } public void setCancelBtnClick(ImageView imgCancel) { imgCancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dismiss(); } }); } public void setContentView(int resID) { super.setContentView(resID); this.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT); } }
Lets see the uses above global dialog
public class SimpleDialog extends ExtendedDialog { public SimpleDialog (Context context, String message, View.OnClickListener yesClickListener, View.OnClickListener noClickListener) { super(context); setContentView(R.layout.dialog_skip_refer_process); TextView tvNo = (TextView) findViewById(R.id.tv_skip_no); TextView tvYes = (TextView) findViewById(R.id.tv_skip_yes); TextView tvMessage = (TextView) findViewById(R.id.tv_message); ImageView ivClose = (ImageView) findViewById(R.id.iv_close); tvMessage.setText(message); tvYes.setOnClickListener(yesClickListener); tvNo.setOnClickListener(noClickListener); ivClose.setOnClickListener(noClickListener); } }
and at last above will be use in the activity, see below code
private void settingAlertDialog() { settingAlertDialog = new SimpleDialog (EditProfileActivity.this, getString(R.string.msg_in_complete_profile), yesClickListener, noClickListener); settingAlertDialog.show(); } View.OnClickListener yesClickListener = new View.OnClickListener() { @Override public void onClick(View view) { settingAlertDialog.dismiss(); finish(); } }; View.OnClickListener noClickListener = new View.OnClickListener() { @Override public void onClick(View view) { settingAlertDialog.dismiss(); } };
///Dialog theme
<!--DIALOG THEME--> <style name="CustomDialog" parent="Theme.AppCompat.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowTitleStyle">@null</item> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> <item name="android:background">@android:color/transparent</item> </style>
Comments
Post a Comment