mirror of
https://github.com/Tencent/QMUI_Android.git
synced 2026-10-18 13:11:05 +08:00
QMUITipDialog
This commit is contained in:
@@ -308,4 +308,8 @@ public class QMUISkinValueBuilder {
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
public void release(){
|
||||
QMUISkinValueBuilder.release(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,9 +19,12 @@ package com.qmuiteam.qmui.widget.dialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import androidx.annotation.IntDef;
|
||||
import androidx.annotation.LayoutRes;
|
||||
import androidx.appcompat.widget.AppCompatImageView;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import android.text.TextUtils;
|
||||
import android.util.TypedValue;
|
||||
@@ -35,8 +38,13 @@ import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.qmuiteam.qmui.R;
|
||||
import com.qmuiteam.qmui.skin.QMUISkinHelper;
|
||||
import com.qmuiteam.qmui.skin.QMUISkinManager;
|
||||
import com.qmuiteam.qmui.skin.QMUISkinValueBuilder;
|
||||
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
|
||||
import com.qmuiteam.qmui.util.QMUIResHelper;
|
||||
import com.qmuiteam.qmui.widget.QMUILoadingView;
|
||||
import com.qmuiteam.qmui.widget.textview.QMUISpanTouchFixTextView;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
@@ -54,6 +62,8 @@ import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
public class QMUITipDialog extends Dialog {
|
||||
|
||||
private boolean mFollowSkin = false;
|
||||
|
||||
public QMUITipDialog(Context context) {
|
||||
this(context, R.style.QMUI_TipDialog);
|
||||
}
|
||||
@@ -63,21 +73,29 @@ public class QMUITipDialog extends Dialog {
|
||||
setCanceledOnTouchOutside(false);
|
||||
}
|
||||
|
||||
public void setFollowSkin(boolean followSkin) {
|
||||
mFollowSkin = followSkin;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
initDialogWidth();
|
||||
}
|
||||
|
||||
private void initDialogWidth() {
|
||||
Window window = getWindow();
|
||||
if (window != null) {
|
||||
WindowManager.LayoutParams wmLp = window.getAttributes();
|
||||
wmLp.width = ViewGroup.LayoutParams.MATCH_PARENT;
|
||||
window.setAttributes(wmLp);
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
if (mFollowSkin) {
|
||||
QMUISkinManager.defaultInstance(getContext()).register(this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
QMUISkinManager.defaultInstance(getContext()).unRegister(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成默认的 {@link QMUITipDialog}
|
||||
* <p>
|
||||
@@ -119,6 +137,8 @@ public class QMUITipDialog extends Dialog {
|
||||
|
||||
private CharSequence mTipWord;
|
||||
|
||||
private boolean mFollowSkin = true;
|
||||
|
||||
public Builder(Context context) {
|
||||
mContext = context;
|
||||
}
|
||||
@@ -141,96 +161,140 @@ public class QMUITipDialog extends Dialog {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setFollowSkin(boolean followSkin) {
|
||||
mFollowSkin = followSkin;
|
||||
return this;
|
||||
}
|
||||
|
||||
public QMUITipDialog create(){
|
||||
return create(true);
|
||||
}
|
||||
|
||||
public QMUITipDialog create(boolean cancelable) {
|
||||
return create(cancelable, R.style.QMUI_TipDialog);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建 Dialog, 但没有弹出来, 如果要弹出来, 请调用返回值的 {@link Dialog#show()} 方法
|
||||
*
|
||||
* @param cancelable 按系统返回键是否可以取消
|
||||
* @return 创建的 Dialog
|
||||
*/
|
||||
public QMUITipDialog create(boolean cancelable) {
|
||||
QMUITipDialog dialog = new QMUITipDialog(mContext);
|
||||
public QMUITipDialog create(boolean cancelable, int style) {
|
||||
QMUITipDialog dialog = new QMUITipDialog(mContext, style);
|
||||
dialog.setCancelable(cancelable);
|
||||
dialog.setContentView(R.layout.qmui_tip_dialog_layout);
|
||||
ViewGroup contentWrap = (ViewGroup) dialog.findViewById(R.id.contentWrap);
|
||||
dialog.setFollowSkin(mFollowSkin);
|
||||
Context dialogContext = dialog.getContext();
|
||||
QMUITipDialogView dialogView = new QMUITipDialogView(dialogContext);
|
||||
|
||||
QMUISkinValueBuilder builder = QMUISkinValueBuilder.acquire();
|
||||
if (mCurrentIconType == ICON_TYPE_LOADING) {
|
||||
QMUILoadingView loadingView = new QMUILoadingView(mContext);
|
||||
loadingView.setColor(Color.WHITE);
|
||||
loadingView.setSize(QMUIDisplayHelper.dp2px(mContext, 32));
|
||||
LinearLayout.LayoutParams loadingViewLP = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
|
||||
loadingView.setLayoutParams(loadingViewLP);
|
||||
contentWrap.addView(loadingView);
|
||||
QMUILoadingView loadingView = new QMUILoadingView(dialogContext);
|
||||
loadingView.setColor(QMUIResHelper.getAttrColor(
|
||||
dialogContext, R.attr.qmui_skin_support_tip_dialog_loading_color));
|
||||
|
||||
} else if (mCurrentIconType == ICON_TYPE_SUCCESS || mCurrentIconType == ICON_TYPE_FAIL || mCurrentIconType == ICON_TYPE_INFO) {
|
||||
ImageView imageView = new ImageView(mContext);
|
||||
LinearLayout.LayoutParams imageViewLP = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
|
||||
imageView.setLayoutParams(imageViewLP);
|
||||
loadingView.setSize(QMUIResHelper.getAttrDimen(
|
||||
dialogContext, R.attr.qmui_tip_dialog_loading_size));
|
||||
builder.tintColor(QMUIResHelper.getAttrString(
|
||||
dialogContext, R.attr.qmui_skin_def_tip_dialog_loading_color));
|
||||
QMUISkinHelper.setSkinValue(loadingView, builder);
|
||||
dialogView.addView(loadingView, onCreateIconOrLoadingLayoutParams(dialogContext));
|
||||
|
||||
} else if (mCurrentIconType == ICON_TYPE_SUCCESS ||
|
||||
mCurrentIconType == ICON_TYPE_FAIL ||
|
||||
mCurrentIconType == ICON_TYPE_INFO) {
|
||||
ImageView imageView = new AppCompatImageView(mContext);
|
||||
|
||||
builder.clear();
|
||||
Drawable drawable;
|
||||
if (mCurrentIconType == ICON_TYPE_SUCCESS) {
|
||||
imageView.setImageDrawable(ContextCompat.getDrawable(mContext, R.drawable.qmui_icon_notify_done));
|
||||
drawable = QMUIResHelper.getAttrDrawable(
|
||||
dialogContext, R.attr.qmui_skin_support_tip_dialog_icon_success_src);
|
||||
builder.src(QMUIResHelper.getAttrString(
|
||||
dialogContext, R.attr.qmui_skin_def_tip_dialog_icon_success_src));
|
||||
} else if (mCurrentIconType == ICON_TYPE_FAIL) {
|
||||
imageView.setImageDrawable(ContextCompat.getDrawable(mContext, R.drawable.qmui_icon_notify_error));
|
||||
drawable = QMUIResHelper.getAttrDrawable(
|
||||
dialogContext, R.attr.qmui_skin_support_tip_dialog_icon_error_src);
|
||||
builder.src(QMUIResHelper.getAttrString(
|
||||
dialogContext, R.attr.qmui_skin_def_tip_dialog_icon_error_src));
|
||||
} else {
|
||||
imageView.setImageDrawable(ContextCompat.getDrawable(mContext, R.drawable.qmui_icon_notify_info));
|
||||
drawable = QMUIResHelper.getAttrDrawable(
|
||||
dialogContext, R.attr.qmui_skin_support_tip_dialog_icon_info_src);
|
||||
builder.src(QMUIResHelper.getAttrString(
|
||||
dialogContext, R.attr.qmui_skin_def_tip_dialog_icon_info_src));
|
||||
}
|
||||
|
||||
contentWrap.addView(imageView);
|
||||
imageView.setImageDrawable(drawable);
|
||||
QMUISkinHelper.setSkinValue(imageView, builder);
|
||||
dialogView.addView(imageView, onCreateIconOrLoadingLayoutParams(dialogContext));
|
||||
|
||||
}
|
||||
|
||||
if (mTipWord != null && mTipWord.length() > 0) {
|
||||
TextView tipView = new TextView(mContext);
|
||||
LinearLayout.LayoutParams tipViewLP = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
|
||||
|
||||
if (mCurrentIconType != ICON_TYPE_NOTHING) {
|
||||
tipViewLP.topMargin = QMUIDisplayHelper.dp2px(mContext, 12);
|
||||
}
|
||||
tipView.setLayoutParams(tipViewLP);
|
||||
|
||||
TextView tipView = new QMUISpanTouchFixTextView(mContext);
|
||||
tipView.setEllipsize(TextUtils.TruncateAt.END);
|
||||
tipView.setGravity(Gravity.CENTER);
|
||||
tipView.setMaxLines(2);
|
||||
tipView.setTextColor(ContextCompat.getColor(mContext, R.color.qmui_config_color_white));
|
||||
tipView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);
|
||||
tipView.setTextSize(TypedValue.COMPLEX_UNIT_PX,
|
||||
QMUIResHelper.getAttrDimen(dialogContext, R.attr.qmui_tip_dialog_text_size));
|
||||
tipView.setTextColor(QMUIResHelper.getAttrColor(
|
||||
dialogContext, R.attr.qmui_skin_support_tip_dialog_text_color));
|
||||
tipView.setText(mTipWord);
|
||||
|
||||
contentWrap.addView(tipView);
|
||||
builder.clear();
|
||||
builder.textColor(QMUIResHelper.getAttrString(
|
||||
dialogContext, R.attr.qmui_skin_def_tip_dialog_text_color));
|
||||
QMUISkinHelper.setSkinValue(tipView, builder);
|
||||
dialogView.addView(tipView, onCreateTextLayoutParams(dialogContext, mCurrentIconType));
|
||||
}
|
||||
builder.release();
|
||||
dialog.setContentView(dialogView);
|
||||
return dialog;
|
||||
}
|
||||
|
||||
protected LinearLayout.LayoutParams onCreateIconOrLoadingLayoutParams(Context context){
|
||||
return new LinearLayout.LayoutParams(
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
}
|
||||
|
||||
protected LinearLayout.LayoutParams onCreateTextLayoutParams(Context context, @IconType int iconType){
|
||||
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
if(iconType != ICON_TYPE_NOTHING){
|
||||
lp.topMargin = QMUIResHelper.getAttrDimen(context, R.attr.qmui_tip_dialog_text_margin_top);
|
||||
}
|
||||
return lp;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 传入自定义的布局并使用这个布局生成 TipDialog
|
||||
* CustomBuilder with xml layout
|
||||
*/
|
||||
public static class CustomBuilder {
|
||||
private Context mContext;
|
||||
private int mContentLayoutId;
|
||||
private boolean mFollowSkin = true;
|
||||
|
||||
public CustomBuilder(Context context) {
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
public CustomBuilder setFollowSkin(boolean followSkin) {
|
||||
mFollowSkin = followSkin;
|
||||
return this;
|
||||
}
|
||||
|
||||
public CustomBuilder setContent(@LayoutRes int layoutId) {
|
||||
mContentLayoutId = layoutId;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建 Dialog, 但没有弹出来, 如果要弹出来, 请调用返回值的 {@link Dialog#show()} 方法
|
||||
*
|
||||
* @return 创建的 Dialog
|
||||
*/
|
||||
public QMUITipDialog create() {
|
||||
QMUITipDialog dialog = new QMUITipDialog(mContext);
|
||||
dialog.setContentView(R.layout.qmui_tip_dialog_layout);
|
||||
ViewGroup contentWrap = (ViewGroup) dialog.findViewById(R.id.contentWrap);
|
||||
LayoutInflater.from(mContext).inflate(mContentLayoutId, contentWrap, true);
|
||||
dialog.setFollowSkin(mFollowSkin);
|
||||
Context dialogContext = dialog.getContext();
|
||||
QMUITipDialogView tipDialogView = new QMUITipDialogView(dialogContext);
|
||||
LayoutInflater.from(dialogContext).inflate(mContentLayoutId, tipDialogView, true);
|
||||
dialog.setContentView(tipDialogView);
|
||||
return dialog;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* Tencent is pleased to support the open source community by making QMUI_Android available.
|
||||
*
|
||||
* Copyright (C) 2017-2018 THL A29 Limited, a Tencent company. All rights reserved.
|
||||
*
|
||||
* Licensed under the MIT License (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software distributed under the License is
|
||||
* distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||
* either express or implied. See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.qmuiteam.qmui.widget.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.Gravity;
|
||||
|
||||
import com.qmuiteam.qmui.R;
|
||||
import com.qmuiteam.qmui.layout.QMUILinearLayout;
|
||||
import com.qmuiteam.qmui.skin.QMUISkinHelper;
|
||||
import com.qmuiteam.qmui.skin.QMUISkinValueBuilder;
|
||||
import com.qmuiteam.qmui.util.QMUIResHelper;
|
||||
|
||||
public class QMUITipDialogView extends QMUILinearLayout {
|
||||
|
||||
private final int mMaxWidth;
|
||||
private final int mMiniWidth;
|
||||
private final int mMiniHeight;
|
||||
|
||||
public QMUITipDialogView(Context context) {
|
||||
super(context);
|
||||
setOrientation(VERTICAL);
|
||||
setGravity(Gravity.CENTER_HORIZONTAL);
|
||||
int radius = QMUIResHelper.getAttrDimen(context, R.attr.qmui_tip_dialog_radius);
|
||||
Drawable background = QMUIResHelper.getAttrDrawable(context, R.attr.qmui_skin_support_tip_dialog_bg);
|
||||
int paddingHor = QMUIResHelper.getAttrDimen(context, R.attr.qmui_tip_dialog_padding_horizontal);
|
||||
int paddingVer = QMUIResHelper.getAttrDimen(context, R.attr.qmui_tip_dialog_padding_vertical);
|
||||
setBackground(background);
|
||||
setPadding(paddingHor, paddingVer, paddingHor, paddingVer);
|
||||
setRadius(radius);
|
||||
QMUISkinValueBuilder builder = QMUISkinValueBuilder.acquire();
|
||||
builder.background(QMUIResHelper.getAttrString(context, R.attr.qmui_skin_def_tip_dialog_bg));
|
||||
QMUISkinHelper.setSkinValue(this, builder);
|
||||
builder.release();
|
||||
mMaxWidth = QMUIResHelper.getAttrDimen(context, R.attr.qmui_tip_dialog_max_width);
|
||||
mMiniWidth = QMUIResHelper.getAttrDimen(context, R.attr.qmui_tip_dialog_min_width);
|
||||
mMiniHeight = QMUIResHelper.getAttrDimen(context, R.attr.qmui_tip_dialog_min_height);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||||
int widthSize = MeasureSpec.getSize(widthMeasureSpec);
|
||||
int widthMode = MeasureSpec.getMode(widthMeasureSpec);
|
||||
if(widthSize > mMaxWidth){
|
||||
widthMeasureSpec = MeasureSpec.makeMeasureSpec(mMaxWidth, widthMode);
|
||||
}
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||
boolean needRemeasure = false;
|
||||
if(getMeasuredWidth() < mMiniWidth){
|
||||
widthMeasureSpec = MeasureSpec.makeMeasureSpec(mMiniWidth, MeasureSpec.EXACTLY);
|
||||
needRemeasure = true;
|
||||
}
|
||||
|
||||
if(getMeasuredHeight() < mMiniHeight){
|
||||
heightMeasureSpec = MeasureSpec.makeMeasureSpec(mMiniHeight, MeasureSpec.EXACTLY);
|
||||
needRemeasure = true;
|
||||
}
|
||||
|
||||
if(needRemeasure){
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Tencent is pleased to support the open source community by making QMUI_Android available.
|
||||
|
||||
Copyright (C) 2017-2018 THL A29 Limited, a Tencent company. All rights reserved.
|
||||
|
||||
Licensed under the MIT License (the "License"); you may not use this file except in
|
||||
compliance with the License. You may obtain a copy of the License at
|
||||
|
||||
http://opensource.org/licenses/MIT
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software distributed under the License is
|
||||
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||
either express or implied. See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="@dimen/qmui_dialog_radius"/>
|
||||
<solid android:color="@color/qmui_config_color_white"/>
|
||||
</shape>
|
||||
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Tencent is pleased to support the open source community by making QMUI_Android available.
|
||||
|
||||
Copyright (C) 2017-2018 THL A29 Limited, a Tencent company. All rights reserved.
|
||||
|
||||
Licensed under the MIT License (the "License"); you may not use this file except in
|
||||
compliance with the License. You may obtain a copy of the License at
|
||||
|
||||
http://opensource.org/licenses/MIT
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software distributed under the License is
|
||||
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||
either express or implied. See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle" >
|
||||
<solid android:color="@color/qmui_config_color_75_pure_black" />
|
||||
<corners android:radius="15dp" />
|
||||
</shape>
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Tencent is pleased to support the open source community by making QMUI_Android available.
|
||||
|
||||
Copyright (C) 2017-2018 THL A29 Limited, a Tencent company. All rights reserved.
|
||||
|
||||
Licensed under the MIT License (the "License"); you may not use this file except in
|
||||
compliance with the License. You may obtain a copy of the License at
|
||||
|
||||
http://opensource.org/licenses/MIT
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software distributed under the License is
|
||||
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||
either express or implied. See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/contentWrap"
|
||||
style="@style/qmui_tip_dialog_wrap"
|
||||
android:orientation="vertical"/>
|
||||
</merge>
|
||||
@@ -235,13 +235,32 @@
|
||||
<attr name="qmui_dialog_menu_container_style" format="reference" />
|
||||
<attr name="qmui_dialog_menu_item_style" format="reference" />
|
||||
|
||||
<!-- tips -->
|
||||
<attr name="qmui_tip_dialog_bg" format="reference" />
|
||||
<attr name="qmui_tip_dialog_min_width" format="dimension" />
|
||||
<attr name="qmui_tip_dialog_min_height" format="dimension" />
|
||||
<!--**********************************************
|
||||
* qmui tip dialog *
|
||||
**********************************************-->
|
||||
<attr name="qmui_tip_dialog_min_width" format="dimension"/>
|
||||
<attr name="qmui_tip_dialog_min_height" format="dimension"/>
|
||||
<attr name="qmui_tip_dialog_max_width" format="dimension"/>
|
||||
<attr name="qmui_tip_dialog_padding_vertical" format="dimension" />
|
||||
<attr name="qmui_tip_dialog_padding_horizontal" format="dimension" />
|
||||
<attr name="qmui_tip_dialog_margin_horizontal" format="dimension" />
|
||||
<attr name="qmui_tip_dialog_radius" format="dimension"/>
|
||||
<attr name="qmui_tip_dialog_loading_size" format="dimension"/>
|
||||
<attr name="qmui_tip_dialog_text_margin_top" format="dimension"/>
|
||||
<attr name="qmui_tip_dialog_text_size" format="dimension"/>
|
||||
|
||||
<attr name="qmui_skin_support_tip_dialog_bg" format="reference" />
|
||||
<attr name="qmui_skin_support_tip_dialog_loading_color" format="reference"/>
|
||||
<attr name="qmui_skin_support_tip_dialog_text_color" format="reference"/>
|
||||
<attr name="qmui_skin_support_tip_dialog_icon_success_src" format="reference"/>
|
||||
<attr name="qmui_skin_support_tip_dialog_icon_error_src" format="reference"/>
|
||||
<attr name="qmui_skin_support_tip_dialog_icon_info_src" format="reference"/>
|
||||
|
||||
<attr name="qmui_skin_def_tip_dialog_bg" format="string"/>
|
||||
<attr name="qmui_skin_def_tip_dialog_loading_color" format="string"/>
|
||||
<attr name="qmui_skin_def_tip_dialog_text_color" format="string"/>
|
||||
<attr name="qmui_skin_def_tip_dialog_icon_success_src" format="string"/>
|
||||
<attr name="qmui_skin_def_tip_dialog_icon_error_src" format="string"/>
|
||||
<attr name="qmui_skin_def_tip_dialog_icon_info_src" format="string"/>
|
||||
|
||||
<!--**********************************************
|
||||
* qmui bottom sheet *
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Tencent is pleased to support the open source community by making QMUI_Android available.
|
||||
|
||||
Copyright (C) 2017-2018 THL A29 Limited, a Tencent company. All rights reserved.
|
||||
|
||||
Licensed under the MIT License (the "License"); you may not use this file except in
|
||||
compliance with the License. You may obtain a copy of the License at
|
||||
|
||||
http://opensource.org/licenses/MIT
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software distributed under the License is
|
||||
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||
either express or implied. See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<resources>
|
||||
|
||||
|
||||
<!--**********************************************
|
||||
* Dialog *
|
||||
**********************************************-->
|
||||
|
||||
<style name="qmui_tip_dialog_wrap">
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:minWidth">?attr/qmui_tip_dialog_min_width</item>
|
||||
<item name="android:minHeight">?attr/qmui_tip_dialog_min_height</item>
|
||||
<item name="android:layout_gravity">center</item>
|
||||
<item name="android:layout_marginLeft">?attr/qmui_content_spacing_horizontal</item>
|
||||
<item name="android:layout_marginRight">?attr/qmui_content_spacing_horizontal</item>
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:paddingLeft">?attr/qmui_tip_dialog_padding_horizontal</item>
|
||||
<item name="android:paddingRight">?attr/qmui_tip_dialog_padding_horizontal</item>
|
||||
<item name="android:paddingTop">?attr/qmui_tip_dialog_padding_vertical</item>
|
||||
<item name="android:paddingBottom">?attr/qmui_tip_dialog_padding_vertical</item>
|
||||
<item name="android:background">?attr/qmui_tip_dialog_bg</item>
|
||||
</style>
|
||||
|
||||
<style name="qmui_tab_sign_count_view">
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:layout_height">?attr/qmui_tab_sign_count_view_minSize</item>
|
||||
<item name="qmui_backgroundColor">?attr/qmui_skin_support_tab_sign_count_view_bg_color</item>
|
||||
<item name="qmui_isRadiusAdjustBounds">true</item>
|
||||
<item name="android:textSize">10sp</item>
|
||||
<item name="android:textColor">?attr/qmui_skin_support_tab_sign_count_view_text_color</item>
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:singleLine">true</item>
|
||||
<item name="android:paddingLeft">?attr/qmui_tab_sign_count_view_padding_horizontal</item>
|
||||
<item name="android:paddingRight">?attr/qmui_tab_sign_count_view_padding_horizontal</item>
|
||||
<item name="android:minWidth">?attr/qmui_tab_sign_count_view_minSize</item>
|
||||
<item name="android:minHeight">?attr/qmui_tab_sign_count_view_minSize</item>i_ta
|
||||
<item name="android:paddingTop">0dp</item>
|
||||
<item name="android:paddingBottom">0dp</item>
|
||||
<item name="android:ellipsize">end</item>
|
||||
</style>
|
||||
</resources>
|
||||
@@ -25,6 +25,24 @@
|
||||
<item name="qmui_tab_icon_position">left</item>
|
||||
</style>
|
||||
|
||||
<style name="QMUI.TabSegment.SignCount">
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:layout_height">?attr/qmui_tab_sign_count_view_minSize</item>
|
||||
<item name="qmui_backgroundColor">?attr/qmui_skin_support_tab_sign_count_view_bg_color</item>
|
||||
<item name="qmui_isRadiusAdjustBounds">true</item>
|
||||
<item name="android:textSize">10sp</item>
|
||||
<item name="android:textColor">?attr/qmui_skin_support_tab_sign_count_view_text_color</item>
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:singleLine">true</item>
|
||||
<item name="android:paddingLeft">?attr/qmui_tab_sign_count_view_padding_horizontal</item>
|
||||
<item name="android:paddingRight">?attr/qmui_tab_sign_count_view_padding_horizontal</item>
|
||||
<item name="android:minWidth">?attr/qmui_tab_sign_count_view_minSize</item>
|
||||
<item name="android:minHeight">?attr/qmui_tab_sign_count_view_minSize</item>i_ta
|
||||
<item name="android:paddingTop">0dp</item>
|
||||
<item name="android:paddingBottom">0dp</item>
|
||||
<item name="android:ellipsize">end</item>
|
||||
</style>
|
||||
|
||||
<!--********************* Button *********************-->
|
||||
<style name="QMUI.RoundButton" parent="@style/Button.Compat">
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
@@ -115,8 +133,7 @@
|
||||
<style name="QMUI.Dialog" parent="android:Theme.Dialog">
|
||||
<item name="android:backgroundDimAmount">?attr/qmui_dialog_background_dim_amount</item>
|
||||
<item name="android:windowBackground">@color/qmui_config_color_transparent</item>
|
||||
<item name="android:windowNoTitle">true</item><!-- 不用window title,使用自己的layout来做title -->
|
||||
<!-- <item name="android:windowTitleStyle">@style/dialog_title</item> --><!-- 不用设置windowStyleStyle,因为windowNoTitle=true -->
|
||||
<item name="android:windowNoTitle">true</item>
|
||||
<item name="android:windowIsFloating">true</item><!-- 在中间弹框、背后有遮罩的效果 -->
|
||||
</style>
|
||||
|
||||
@@ -187,7 +204,6 @@
|
||||
<item name="qmui_paddingTopWhenNotTitle">27dp</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="QMUI.Dialog.EditContent">
|
||||
<item name="android:textColor">?attr/qmui_skin_support_dialog_edit_text_color</item>
|
||||
<item name="android:textColorHint">?attr/qmui_skin_support_dialog_edit_text_hint_color</item>
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
<!-- skin support-->
|
||||
|
||||
|
||||
<item name="qmui_tab_sign_count_view">@style/qmui_tab_sign_count_view</item>
|
||||
<item name="qmui_tab_sign_count_view">@style/QMUI.TabSegment.SignCount</item>
|
||||
<item name="qmui_tab_sign_count_view_minSize">@dimen/qmui_tab_sign_count_view_minSize</item>
|
||||
<item name="qmui_tab_sign_count_view_minSize_with_text">
|
||||
@dimen/qmui_tab_sign_count_view_minSize_with_text
|
||||
@@ -229,20 +229,12 @@
|
||||
<item name="qmui_dialog_edit_bottom_line_height">1dp</item>
|
||||
<item name="qmui_dialog_title_style">@style/QMUI.Dialog.Title</item>
|
||||
<item name="qmui_dialog_message_content_style">@style/QMUI.Dialog.MessageContent</item>
|
||||
|
||||
<item name="qmui_dialog_action_container_style">@style/QMUI.Dialog.ActionContainer</item>
|
||||
<item name="qmui_dialog_action_style">@style/QMUI.Dialog.Action</item>
|
||||
<item name="qmui_dialog_edit_content_style">@style/QMUI.Dialog.EditContent</item>
|
||||
<item name="qmui_dialog_menu_container_style">@style/QMUI.Dialog.MenuContainer</item>
|
||||
<item name="qmui_dialog_menu_item_style">@style/QMUI.Dialog_MenuItem</item>
|
||||
|
||||
<!-- tip -->
|
||||
<item name="qmui_tip_dialog_bg">@drawable/qmui_tip_dialog_bg</item>
|
||||
<item name="qmui_tip_dialog_min_width">120dp</item>
|
||||
<item name="qmui_tip_dialog_min_height">56dp</item>
|
||||
<item name="qmui_tip_dialog_margin_horizontal">?attr/qmui_content_spacing_horizontal</item>
|
||||
<item name="qmui_tip_dialog_padding_vertical">12dp</item>
|
||||
<item name="qmui_tip_dialog_padding_horizontal">?attr/qmui_content_padding_horizontal</item>
|
||||
|
||||
<item name="qmui_skin_support_dialog_bg">@color/qmui_config_color_white</item>
|
||||
<item name="qmui_skin_support_dialog_title_text_color">?attr/qmui_config_color_black</item>
|
||||
@@ -271,6 +263,34 @@
|
||||
<item name="qmui_skin_def_s_dialog_menu_item_bg">qmui_skin_support_s_dialog_menu_item_bg</item>
|
||||
<item name="qmui_skin_def_dialog_menu_item_text_color">qmui_skin_support_dialog_menu_item_text_color</item>
|
||||
|
||||
|
||||
<!--**********************************************
|
||||
* qmui tip dialog *
|
||||
**********************************************-->
|
||||
<item name="qmui_tip_dialog_min_width">120dp</item>
|
||||
<item name="qmui_tip_dialog_min_height">40dp</item>
|
||||
<item name="qmui_tip_dialog_max_width">270dp</item>
|
||||
<item name="qmui_tip_dialog_padding_vertical">14dp</item>
|
||||
<item name="qmui_tip_dialog_padding_horizontal">?attr/qmui_content_padding_horizontal</item>
|
||||
<item name="qmui_tip_dialog_radius">15dp</item>
|
||||
<item name="qmui_tip_dialog_loading_size">32dp</item>
|
||||
<item name="qmui_tip_dialog_text_margin_top">12dp</item>
|
||||
<item name="qmui_tip_dialog_text_size">14sp</item>
|
||||
|
||||
<item name="qmui_skin_support_tip_dialog_bg">@color/qmui_config_color_75_pure_black</item>
|
||||
<item name="qmui_skin_support_tip_dialog_loading_color">@color/qmui_config_color_white</item>
|
||||
<item name="qmui_skin_support_tip_dialog_text_color">@color/qmui_config_color_white</item>
|
||||
<item name="qmui_skin_support_tip_dialog_icon_success_src">@drawable/qmui_icon_notify_done</item>
|
||||
<item name="qmui_skin_support_tip_dialog_icon_error_src">@drawable/qmui_icon_notify_error</item>
|
||||
<item name="qmui_skin_support_tip_dialog_icon_info_src">@drawable/qmui_icon_notify_info</item>
|
||||
|
||||
<item name="qmui_skin_def_tip_dialog_bg">qmui_skin_support_tip_dialog_bg</item>
|
||||
<item name="qmui_skin_def_tip_dialog_loading_color">qmui_skin_support_tip_dialog_loading_color</item>
|
||||
<item name="qmui_skin_def_tip_dialog_text_color">qmui_skin_support_tip_dialog_text_color</item>
|
||||
<item name="qmui_skin_def_tip_dialog_icon_success_src">qmui_skin_support_tip_dialog_icon_success_src</item>
|
||||
<item name="qmui_skin_def_tip_dialog_icon_error_src">qmui_skin_support_tip_dialog_icon_error_src</item>
|
||||
<item name="qmui_skin_def_tip_dialog_icon_info_src">qmui_skin_support_tip_dialog_icon_info_src</item>
|
||||
|
||||
<!--**********************************************
|
||||
* qmui list item bg *
|
||||
**********************************************-->
|
||||
|
||||
-6
@@ -95,12 +95,6 @@ public class QDTipDialogFragment extends BaseFragment {
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
final QMUITipDialog tipDialog;
|
||||
switch (position) {
|
||||
case 0:
|
||||
tipDialog = new QMUITipDialog.Builder(getContext())
|
||||
.setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING)
|
||||
.setTipWord("正在加载")
|
||||
.create();
|
||||
break;
|
||||
case 1:
|
||||
tipDialog = new QMUITipDialog.Builder(getContext())
|
||||
.setIconType(QMUITipDialog.Builder.ICON_TYPE_SUCCESS)
|
||||
|
||||
@@ -126,6 +126,7 @@
|
||||
<item name="qmui_skin_support_dialog_edit_text_hint_color">@color/qmui_config_color_75_white</item>
|
||||
<item name="qmui_skin_support_dialog_menu_item_text_color">@color/qmui_config_color_white</item>
|
||||
|
||||
|
||||
<item name="app_primary_color">@color/qmui_config_color_pure_black</item>
|
||||
<item name="app_skin_common_background">@color/qmui_config_color_gray_2</item>
|
||||
<item name="app_skin_common_background_1">@color/qmui_config_color_gray_1</item>
|
||||
|
||||
Reference in New Issue
Block a user