diff --git a/qmui/src/main/java/com/qmuiteam/qmui/util/QMUIResHelper.java b/qmui/src/main/java/com/qmuiteam/qmui/util/QMUIResHelper.java index fb302b28..f81d52ff 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/util/QMUIResHelper.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/util/QMUIResHelper.java @@ -94,7 +94,7 @@ public class QMUIResHelper { }else if(attr == R.styleable.QMUITextCommonStyleDef_android_maxLines){ textView.setMaxLines(a.getInt(attr, -1)); }else if(attr == R.styleable.QMUITextCommonStyleDef_android_background){ - textView.setBackground(a.getDrawable(attr)); + QMUIViewHelper.setBackgroundKeepingPadding(textView, a.getDrawable(attr)); }else if(attr == R.styleable.QMUITextCommonStyleDef_android_lineSpacingExtra){ textView.setLineSpacing(a.getDimensionPixelSize(attr, 0), 1f); }else if(attr == R.styleable.QMUITextCommonStyleDef_android_drawablePadding){ diff --git a/qmui/src/main/java/com/qmuiteam/qmui/widget/dialog/QMUIDialog.java b/qmui/src/main/java/com/qmuiteam/qmui/widget/dialog/QMUIDialog.java index 6ea21330..28ed6acb 100644 --- a/qmui/src/main/java/com/qmuiteam/qmui/widget/dialog/QMUIDialog.java +++ b/qmui/src/main/java/com/qmuiteam/qmui/widget/dialog/QMUIDialog.java @@ -307,8 +307,10 @@ public class QMUIDialog extends Dialog { mScrollContainer = new QMUIWrapContentScrollView(context); mTextView = new QMUISpanTouchFixTextView(context); MessageDialogBuilder.assignMessageTvWithAttr(mTextView, hasTitle(), R.attr.qmui_dialog_message_content_style); - - mScrollContainer.addView(mTextView); + ScrollView.LayoutParams lp = new ScrollView.LayoutParams( + ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); + lp.gravity = mTextView.getGravity(); + mScrollContainer.addView(mTextView, lp); mScrollContainer.setVerticalScrollBarEnabled(false); mScrollContainer.setMaxHeight(getContentAreaMaxHeight()); mTextView.setText(mMessage); diff --git a/qmui/src/main/res/values/qmui_style_widget.xml b/qmui/src/main/res/values/qmui_style_widget.xml index 637d2233..e8187e88 100644 --- a/qmui/src/main/res/values/qmui_style_widget.xml +++ b/qmui/src/main/res/values/qmui_style_widget.xml @@ -190,6 +190,7 @@ 28dp end 3dp + 8dp 27dp diff --git a/qmuidemo/src/main/java/com/qmuiteam/qmuidemo/fragment/components/QDDialogFragment.java b/qmuidemo/src/main/java/com/qmuiteam/qmuidemo/fragment/components/QDDialogFragment.java index 78326975..0d6b6e7d 100644 --- a/qmuidemo/src/main/java/com/qmuiteam/qmuidemo/fragment/components/QDDialogFragment.java +++ b/qmuidemo/src/main/java/com/qmuiteam/qmuidemo/fragment/components/QDDialogFragment.java @@ -4,6 +4,7 @@ import android.content.Context; import android.content.DialogInterface; import android.support.v4.content.ContextCompat; import android.text.InputType; +import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -21,6 +22,7 @@ import com.qmuiteam.qmui.util.QMUIKeyboardHelper; import com.qmuiteam.qmui.util.QMUIResHelper; import com.qmuiteam.qmui.util.QMUIViewHelper; import com.qmuiteam.qmui.widget.QMUITopBar; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction; import com.qmuiteam.qmuidemo.manager.QDDataManager; @@ -47,6 +49,7 @@ public class QDDialogFragment extends BaseFragment { @BindView(R.id.listview) ListView mListView; private QDItemDescription mQDItemDescription; + private int mCurrentDialogStyle = com.qmuiteam.qmui.R.style.QMUI_Dialog; @Override protected View onCreateView() { @@ -66,6 +69,14 @@ public class QDDialogFragment extends BaseFragment { } }); + mTopBar.addRightImageButton(R.mipmap.icon_topbar_overflow, R.id.topbar_right_change_button) + .setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + showBottomSheet(); + } + }); + mTopBar.setTitle(mQDItemDescription.getName()); } @@ -145,7 +156,7 @@ public class QDDialogFragment extends BaseFragment { Toast.makeText(getActivity(), "发送成功", Toast.LENGTH_SHORT).show(); } }) - .show(); + .create(mCurrentDialogStyle).show(); } private void showMessageNegativeDialog() { @@ -165,7 +176,7 @@ public class QDDialogFragment extends BaseFragment { dialog.dismiss(); } }) - .show(); + .create(mCurrentDialogStyle).show(); } private void showLongMessageDialog() { @@ -188,7 +199,7 @@ public class QDDialogFragment extends BaseFragment { dialog.dismiss(); } }) - .show(); + .create(mCurrentDialogStyle).show(); } private void showConfirmMessageDialog() { @@ -208,7 +219,7 @@ public class QDDialogFragment extends BaseFragment { dialog.dismiss(); } }) - .show(); + .create(mCurrentDialogStyle).show(); } private void showMenuDialog() { @@ -221,7 +232,7 @@ public class QDDialogFragment extends BaseFragment { dialog.dismiss(); } }) - .show(); + .create(mCurrentDialogStyle).show(); } private void showSingleChoiceDialog() { @@ -236,7 +247,7 @@ public class QDDialogFragment extends BaseFragment { dialog.dismiss(); } }) - .show(); + .create(mCurrentDialogStyle).show(); } private void showMultiChoiceDialog() { @@ -266,7 +277,7 @@ public class QDDialogFragment extends BaseFragment { dialog.dismiss(); } }); - builder.show(); + builder.create(mCurrentDialogStyle).show(); } private void showNumerousMultiChoiceDialog() { @@ -300,7 +311,7 @@ public class QDDialogFragment extends BaseFragment { dialog.dismiss(); } }); - builder.show(); + builder.create(mCurrentDialogStyle).show(); } private void showEditTextDialog() { @@ -326,7 +337,7 @@ public class QDDialogFragment extends BaseFragment { } } }) - .show(); + .create(mCurrentDialogStyle).show(); } private void showAutoDialog() { @@ -344,7 +355,7 @@ public class QDDialogFragment extends BaseFragment { dialog.dismiss(); } }); - autoTestDialogBuilder.show(); + autoTestDialogBuilder.create(mCurrentDialogStyle).show(); QMUIKeyboardHelper.showKeyboard(autoTestDialogBuilder.getEditText(), true); } @@ -387,4 +398,26 @@ public class QDDialogFragment extends BaseFragment { return layout; } } + + + private void showBottomSheet() { + new QMUIBottomSheet.BottomListSheetBuilder(getContext()) + .addItem("使用 QMUI 默认 Dialog 样式") + .addItem("自定义样式") + .setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + switch (position) { + case 0: + mCurrentDialogStyle = com.qmuiteam.qmui.R.style.QMUI_Dialog; + break; + case 1: + mCurrentDialogStyle = R.style.DialogTheme2; + break; + } + dialog.dismiss(); + } + }) + .build().show(); + } } diff --git a/qmuidemo/src/main/res/values/styles.xml b/qmuidemo/src/main/res/values/styles.xml index c669ee3d..3a11fdc2 100644 --- a/qmuidemo/src/main/res/values/styles.xml +++ b/qmuidemo/src/main/res/values/styles.xml @@ -83,4 +83,75 @@ @drawable/qmui_divider_bottom_bitmap + + + + + + + + + + + + + + + +