QMUI_Android使用(一)QMUIDialog

1.QMUI_Android是腾讯出的一款UI框架,还有Web和IOS版本。 在AndriodStudio中新建一个Android项目,在APP中build.gradle的dependencies中加入compile'com.qmuiteam:qmui:1.0.6',如下:


2.在styles.xml文件中将主题改为<stylename="AppTheme"parent="QMUI.Compat">就可以使用了,当然可以在<item name="(name)">(value)</item> 的形式来覆盖 QMUI 组件的默认表现。我的styles.xml如下:

<style name="AppTheme" parent="QMUI.Compat.NoActionBar">
    <!-- 配置Android提供的theme -->
    <item name="android:textAppearanceListItemSmall">@style/QDTextAppearanceListItemSmall</item>
    <item name="android:textAppearanceListItem">@style/QDtextAppearanceListItem</item>
    <item name="android:listPreferredItemHeight">?attr/qmui_list_item_height_higher</item>
    <item name="android:listPreferredItemHeightSmall">?attr/qmui_list_item_height</item>

    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <!--这个在value-21v中重写,如果sdk大于19的话请在value-21v 中做修改 同时这也是作者的一个bug,在给他的github中可查证-->
    <item name="colorAccent">@color/colorPrimary</item>
    <item name="qmui_backgroundColor">@color/qmui_config_color_background</item>
    <item name="android:actionBarSize">@dimen/qmui_dialog_action_button_radius</item>
    <item name="actionBarSize">@dimen/activity_horizontal_margin</item>


    <item name="qmui_config_color_blue">@color/qmui_config_color_blue</item><!--这是一个BUG覆盖了colorAccent的效果-->
    <item name="qmui_config_color_red">@color/colorPrimaryDark</item>
    <item name="qmui_config_color_background">@color/qmui_config_color_background</item>

    <!-- 配置app自己的theme -->
    <item name="qmui_alpha_pressed">?attr/qmui_config_color_blue</item><!--下拉刷新 控件默认颜色-->
    <item name="qmui_common_list_item_chevron">@drawable/qmui_list_item_bg_with_border_bottom</item><!--向右按钮-->
    <item name="qmui_dialog_action_text_negative_color">@color/qmui_dialog_action_text_negative_color</item><!--颜色cancle-->
    <item name="qmui_dialog_action_text_color">@color/qmui_config_color_black</item><!--颜色confirm-->
    <item name="qmui_dialog_title_text_color">@color/qmui_config_color_black</item><!--颜色Title-->
    <item name="qmui_config_color_gray_4">@color/qmui_config_color_gray_4</item><!--颜色message-->

</style>
3.接下来就是使用了,在代码中引入包就可以直接使用了,这是一个带输入框的弹出框,QMUI的各种组件都比较简约美观,还有很多的类型的弹出框


final  QMUIDialog.EditTextDialogBuilder builder = new QMUIDialog.EditTextDialogBuilder(getActivity());
    builder.setTitle("灯泡ID输入")
            .setPlaceholder("请在此输入灯泡ID")
            .setInputType(InputType.TYPE_CLASS_TEXT)
            .addAction("取消", new QMUIDialogAction.ActionListener() {
                @Override
                public void onClick(QMUIDialog dialog, int index) {
                    dialog.dismiss();
                }
            })
            . addAction("确定", new QMUIDialogAction.ActionListener() {
    @Override
    public void onClick(QMUIDialog dialog, int index) {
        CharSequence text = builder.getEditText().getText();
        //获得出入的ID
        String ID = text.toString().trim();
        if (!ID.equals("")&&ID!=null&&CommonUtils.isInteger(ID)) {
            bulbID = Integer.parseInt(ID);
            if(bulbID>=0&&bulbID<=32767) {
                send_msg.setText(bulbID+"");
                dialog.dismiss();
            }else {
                Toast.makeText(getActivity(), "请填入合法灯泡ID", Toast.LENGTH_SHORT).show();
            }
        } else {
            Toast.makeText(getActivity(), "请填入合法灯泡ID", Toast.LENGTH_SHORT).show();
        }
    }
}).show();
删除警告弹出框

new QMUIDialog.MessageDialogBuilder(getActivity())
        .setTitle("标题")
        .setMessage("确定要删除吗?")
        .addAction("取消", new QMUIDialogAction.ActionListener() {
            @Override
            public void onClick(QMUIDialog dialog, int index) {
                dialog.dismiss();
            }
        })
        .addAction(0, "删除", QMUIDialogAction.ACTION_PROP_NEGATIVE, new QMUIDialogAction.ActionListener() {
            @Override
            public void onClick(QMUIDialog dialog, int index) {
                Toast.makeText(getActivity(), "删除成功", Toast.LENGTH_SHORT).show();
                dialog.dismiss();
            }
        })
        .show();
具体的可以看官网的说明http://qmuiteam.com/android/page/document.html


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在 Android 项目中使用 QMUI Android,可以按照以下步骤进行: 1. 将 QMUI Android 引入项目中,可以使用 Gradle,将以下代码添加到 `build.gradle` 文件中: ```groovy dependencies { implementation 'com.qmuiteam:qmui:2.1.0' } ``` 2. 在 Application 类中初始化 QMUI,可以在 `onCreate()` 方法中添加以下代码: ```java public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); QMUI.init(this); } } ``` 3. 在布局文件中使用 QMUI 的控件,例如: ```xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:qmui="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.qmuiteam.qmui.widget.QMUITopBarLayout android:id="@+id/topbar" qmui:layout_constraintTop_toTopOf="parent" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize"/> <com.qmuiteam.qmui.widget.QMUIRoundButton android:id="@+id/button" android:text="Button" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> ``` 在这个例子中,我们使用了 `QMUITopBarLayout` 和 `QMUIRoundButton`,它们都是 QMUI 的控件,可以通过 `xmlns:qmui="http://schemas.android.com/apk/res-auto"` 引入 QMUI 的命名空间。 在 Activity 类中,可以通过以下方式来获取控件的实例: ```java public class MyActivity extends AppCompatActivity { private QMUITopBarLayout mTopBarLayout; private QMUIRoundButton mButton; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); mTopBarLayout = findViewById(R.id.topbar); mButton = findViewById(R.id.button); // 设置 TopBar 的标题 mTopBarLayout.setTitle("My Activity"); } } ``` 以上就是使用 QMUI Android 的基本步骤,更多的 QMUI 控件和用法可以参考官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值