package com.flyco.dialog.widget;
import android.content.Context;
import android.graphics.Color;
import android.view.Gravity;
import android.view.View;
import android.widget.LinearLayout;
import com.flyco.dialog.utils.CornerUtils;
import com.flyco.dialog.widget.internal.BaseAlertDialog;
/**
* Dialog like Material Design Dialog
*/
public class MaterialDialog extends BaseAlertDialog<MaterialDialog> {
public MaterialDialog(Context context) {
super(context);
/** default value*/
mTitleTextColor = Color.parseColor("#DE000000");
mTitleTextSize = 22f;
mContentTextColor = Color.parseColor("#8a000000");
mContentTextSize = 16f;
mLeftBtnTextColor = Color.parseColor("#383838");
mRightBtnTextColor = Color.parseColor("#468ED0");
mMiddleBtnTextColor = Color.parseColor("#00796B");
/** default value*/
}
@Override
public View onCreateView() {
/** title */
mTvTitle.setGravity(Gravity.CENTER_VERTICAL);
mTvTitle.setPadding(dp2px(20), dp2px(20), dp2px(20), dp2px(0));
mTvTitle.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
mLlContainer.addView(mTvTitle);
/** content */
mTvContent.setPadding(dp2px(20), dp2px(20), dp2px(20), dp2px(20));
mTvContent.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
mLlContainer.addView(mTvContent);
/**btns*/
mLlBtns.setGravity(Gravity.RIGHT);
mLlBtns.addView(mTvBtnLeft);
mLlBtns.addView(mTvBtnMiddle);
mLlBtns.addView(mTvBtnRight);
mTvBtnLeft.setPadding(dp2px(15), dp2px(8), dp2px(15), dp2px(8));
mTvBtnRight.setPadding(dp2px(15), dp2px(8), dp2px(15), dp2px(8));
mTvBtnMiddle.setPadding(dp2px(15), dp2px(8), dp2px(15), dp2px(8));
mLlBtns.setPadding(dp2px(20), dp2px(0), dp2px(10), dp2px(10));
mLlContainer.addView(mLlBtns);
return mLlContainer;
}
@Override
public void setUiBeforShow() {
super.setUiBeforShow();
/**set background color and corner radius */
float radius = dp2px(mCornerRadius);
mLlContainer.setBackgroundDrawable(CornerUtils.cornerDrawable(mBgColor, radius));
mTvBtnLeft.setBackgroundDrawable(CornerUtils.btnSelector(radius, mBgColor, mBtnPressColor, -2));
mTvBtnRight.setBackgroundDrawable(CornerUtils.btnSelector(radius, mBgColor, mBtnPressColor, -2));
mTvBtnMiddle.setBackgroundDrawable(CornerUtils.btnSelector(radius, mBgColor, mBtnPressColor, -2));
}
}