package com.aiyou.view; import com.aiyou.AiYouApplication; import com.aiyou.R; import com.aiyou.utils.SwitchManager; import external.otherview.Win8ProgressBar; import android.app.Dialog; import android.content.Context; import android.graphics.Color; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.TextView; public class CustomDialog extends Dialog { private TextView mTitleTextView; private TextView mMessageTextView; private EditText mEditText; private LinearLayout mButtonLinearLayout; private Button mOKBtn, mCancelBtn; private Win8ProgressBar mProgressBar; public CustomDialog(Context context) { this(context, R.style.CustomeDialogThreme); } public CustomDialog(Context context, int theme) { super(context, theme); setContentView(R.layout.custom_dialog); init(); } private void init() { mTitleTextView = (TextView) findViewById(R.id.custom_dialog_tv_title); mMessageTextView = (TextView) findViewById(R.id.custom_dialog_tv_message); mEditText = (EditText) findViewById(R.id.custom_dialog_et); mButtonLinearLayout = (LinearLayout) findViewById(R.id.custom_dialog_ll_bt); mOKBtn = (Button) findViewById(R.id.ok_btn); mCancelBtn = (Button) findViewById(R.id.cancel_btn); mProgressBar = (Win8ProgressBar) findViewById(R.id.progress_bar); LinearLayout ll = (LinearLayout) findViewById(R.id.custom_dialog_ll); if (SwitchManager.getInstance(AiYouApplication.getInstance()).isNightModeEnabled()) { FrameLayout fl_root = (FrameLayout) findViewById(R.id.custom_dialog_fl_root); fl_root.setBackgroundColor(Color.parseColor("#222222")); ll.setBackgroundResource(R.drawable.background_rect_night); mTitleTextView.setTextColor(getContext().getResources().getColor( R.color.font_night)); mMessageTextView.setTextColor(getContext().getResources().getColor( R.color.font_night)); mEditText.setBackgroundResource(R.drawable.background_et_night); mEditText.setTextColor(getContext().getResources().getColor( R.color.font_night)); } setCanceledOnTouchOutside(true); setCancelable(true); } public CustomDialog setTitle(String title) { mTitleTextView.setText(title); return this; } public CustomDialog setMessage(String message) { mMessageTextView.setText(message); return this; } public CustomDialog setOKButton(View.OnClickListener listener) { mButtonLinearLayout.setVisibility(View.VISIBLE); mOKBtn.setVisibility(View.VISIBLE); if (listener == null) { listener = new View.OnClickListener() { @Override public void onClick(View v) { dismiss(); } }; } mOKBtn.setOnClickListener(listener); return this; } public CustomDialog setOKGetEditTextContentListener(final GetEditTextContentListener listener) { mButtonLinearLayout.setVisibility(View.VISIBLE); mOKBtn.setVisibility(View.VISIBLE); mEditText.setVisibility(View.VISIBLE); mOKBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { listener.onClick(v, mEditText.getText().toString()); } }); return this; } public CustomDialog setCancelButton(View.OnClickListener listener) { mButtonLinearLayout.setVisibility(View.VISIBLE); mCancelBtn.setVisibility(View.VISIBLE); if (listener == null) { listener = new View.OnClickListener() { @Override public void onClick(View v) { dismiss(); } }; } mCancelBtn.setOnClickListener(listener); return this; } public void startProgress() { setCanceledOnTouchOutside(false); setCancelable(false); mOKBtn.setVisibility(View.GONE); mCancelBtn.setVisibility(View.GONE); mProgressBar.setVisibility(View.VISIBLE); mProgressBar.start(); } public void stopProgress() { mOKBtn.setVisibility(View.VISIBLE); mCancelBtn.setVisibility(View.VISIBLE); mProgressBar.setVisibility(View.GONE); mProgressBar.stop(); } public interface GetEditTextContentListener { void onClick(View view, String content); } }