Android 弹窗,底部弹窗,密码输入框,底部列表选择等

 

 

 

导入依赖:

implementation 'com.lxj:xpopup:1.9.0'

implementation 'com.contrarywind:Android-PickerView:4.1.9'

public class DialogHelper {

    public static void showConfirmDialog(Context context, String title, CharSequence content,
                                         CharSequence cancelText, CharSequence confirmText, OnConfirmListener listener, OnCancelListener cancelListener) {
        ConfirmDialog confirmDialog = new ConfirmDialog(context)
                .setCancelText(cancelText)
                .setConfirmText(confirmText)
                .setTitleContent(title, content, null)
                .setListener(listener, cancelListener);
        new XPopup.Builder(context)
                .setPopupCallback(new SimpleCallback())
                .isCenterHorizontal(true)
                .asCustom(confirmDialog)
                .show();
    }

    public static void showConfirmDialog(Context context, String title, CharSequence content,
                                         boolean isHideCancel, OnConfirmListener listener) {
        ConfirmDialog confirmDialog = new ConfirmDialog(context)
                .setCancelText(context.getString(R.string.cancel))
                .setConfirmText(context.getString(R.string.text_sure))
                .setTitleContent(title, content, null)
                .setListener(listener, null);
        if (isHideCancel) confirmDialog.hideCancelBtn();

        new XPopup.Builder(context)
                .setPopupCallback(new SimpleCallback())
                .isCenterHorizontal(true)
                .asCustom(confirmDialog)
                .show();
    }

    public static void showConfirmDialog2(Context context, String title, CharSequence content, OnConfirmListener listener) {
        ConfirmDialog confirmDialog = new ConfirmDialog(context)
                .setCancelText(context.getString(R.string.cancel))
                .setConfirmText(context.getString(R.string.close_dialog))
                .setTitleContent(title, content, null)
                .setListener(listener, null);
        confirmDialog.hideCancelBtn();

        new XPopup.Builder(context)
                .setPopupCallback(new SimpleCallback())
                .isCenterHorizontal(true)
                .asCustom(confirmDialog)
                .show();
    }

    public static void showConfirmDialog(Context context, String title, CharSequence content,
                                         OnConfirmListener listener, OnCancelListener cancelListener) {
        ConfirmDialog confirmDialog = new ConfirmDialog(context)
                .setCancelText(context.getString(R.string.cancel))
                .setConfirmText(context.getString(R.string.text_sure))
                .setTitleContent(title, content, null)
                .setListener(listener, cancelListener);
        new XPopup.Builder(context)
                .setPopupCallback(new SimpleCallback())
                .isCenterHorizontal(true)
                .asCustom(confirmDialog)
                .show();
    }

    public static BasePopupView showConfirmDialog(Context context, String title, CharSequence content, OnConfirmListener listener) {
        ConfirmDialog confirmDialog = new ConfirmDialog(context)
                .setCancelText(context.getString(R.string.cancel))
                .setConfirmText(context.getString(R.string.text_sure))
                .setTitleContent(title, content, null)
                .setListener(listener, null);
        return new XPopup.Builder(context)
                .dismissOnTouchOutside(false)
                .dismissOnBackPressed(false)
                .setPopupCallback(new SimpleCallback())
                .asCustom(confirmDialog)
                .show();
    }

    public static void showOptionPicker(Context context, String title, List<String> list, OnOptionsSelectListener listener) {
        OptionsPickerView<String> pvOptions = new OptionsPickerBuilder(context, listener)
                .setTitleText(title)
                .setTitleSize(14)
                .setSubCalSize(14)
                .setContentTextSize(16)//设置滚轮文字大小
                .setDividerColor(Color.LTGRAY)//设置分割线的颜色
//                .setSelectOptions(0, 1)//默认选中项
                .setBgColor(Color.WHITE)
                .setTitleBgColor(Color.WHITE)
                .setTitleColor(Color.BLACK)
                .setSubmitColor(Color.rgb(255, 117, 105))
                .setCancelColor(Color.rgb(153, 153, 153))
                .setTextColorCenter(Color.BLACK)
                .setCyclic(false, false, false)
                .isRestoreItem(false)//切换时是否还原,设置默认选中第一项。
                .isCenterLabel(true) //是否只显示中间选中项的label文字,false则每项item全部都带有label。
//                .setBackgroundId(0x00000000) //设置外部遮罩颜色
                .build();
        pvOptions.setPicker(list);//一级选择器
        pvOptions.show();
    }

    public static void showOptionPicker(Context context, String title, List<String> list, int option1, OnOptionsSelectListener listener) {
        OptionsPickerView<String> pvOptions = new OptionsPickerBuilder(context, listener)
                .setTitleText(title)
                .setTitleSize(14)
                .setSubCalSize(12)
                .setContentTextSize(14)//设置滚轮文字大小
                .setDividerColor(Color.LTGRAY)//设置分割线的颜色
                .setSelectOptions(option1)//默认选中项
                .setBgColor(Color.WHITE)
                .setTitleBgColor(Color.WHITE)
                .setTitleColor(Color.BLACK)
                .setSubmitColor(Color.rgb(255, 117, 105))
                .setCancelColor(Color.rgb(153, 153, 153))
                .setTextColorCenter(Color.BLACK)
                .setCyclic(false, false, false)
                .isRestoreItem(false)//切换时是否还原,设置默认选中第一项。
                .isCenterLabel(true) //是否只显示中间选中项的label文字,false则每项item全部都带有label。
//                .setBackgroundId(0x00000000) //设置外部遮罩颜色
                .build();
        pvOptions.setPicker(list);//一级选择器
        pvOptions.show();
    }

    /**
     * Dialog 模式下,在底部弹出
     *
     * @param context
     * @param title
     * @param listener
     */
    public static void showTimePicker(Context context, String title, OnTimeSelectListener listener) {
        //系统当前时间
        Calendar selectedDate = Calendar.getInstance();
        Calendar startDate = Calendar.getInstance();
        startDate.set(2000, 0, 1);
        Calendar endDate = Calendar.getInstance();
        TimePickerView mTimePickerView;
        mTimePickerView = new TimePickerBuilder(context, listener)
                .setDate(selectedDate)
                .setRangDate(startDate, endDate)
                .setTitleText(title)
                .setTitleSize(14)
                .setSubCalSize(12)
                .setContentTextSize(14)
                .setDividerColor(Color.LTGRAY)//设置分割线的颜色
                .setBgColor(Color.WHITE)
                .setTitleBgColor(Color.WHITE)
                .setTitleColor(Color.rgb(51, 51, 51))
                .setSubmitColor(Color.rgb(255, 117, 105))
                .setCancelColor(Color.rgb(153, 153, 153))
                .setTextColorCenter(Color.rgb(51, 51, 51))
                .setType(new boolean[]{true, true, true, false, false, false})
                .isCyclic(false)
                .isDialog(true)
                .build();
        Dialog mDialog = mTimePickerView.getDialog();
        if (mDialog != null) {
            FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
                    ViewGroup.LayoutParams.MATCH_PARENT,
                    ViewGroup.LayoutParams.WRAP_CONTENT,
                    Gravity.BOTTOM);

            params.leftMargin = 0;
            params.rightMargin = 0;
            mTimePickerView.getDialogContainerLayout().setLayoutParams(params);
            Window dialogWindow = mDialog.getWindow();
            if (dialogWindow != null) {
                dialogWindow.setWindowAnimations(R.style.picker_view_slide_anim);//修改动画样式
                dialogWindow.setGravity(Gravity.BOTTOM);//改成Bottom,底部显示
            }
        }
        mTimePickerView.show();
    }


    public static void showPasswordDialog(Context mContext, String title, String content, String inputContent, String hint, OnInputConfirmListener listener) {

        new XPopup.Builder(mContext)
                //.dismissOnBackPressed(false)
                .autoOpenSoftInput(true)
//                        .autoFocusEditText(false) //是否让弹窗内的EditText自动获取焦点,默认是true
                .isRequestFocus(false)
                .isCenterHorizontal(true)
                //.moveUpToKeyboard(false)   //是否移动到软键盘上面,默认为true
                .asInputConfirm(title, content, inputContent, hint, listener)
                .bindLayout(R.layout.dialog_password_confirm)
                .show();
    }


}

使用:

showConfirmDialog("系统提示", "确定退出吗?", this::finish);


showConfirmDialog("系统提示", "确定退出吗?", ()->{});


List<String> productName = new ArrayList<>();
DialogHelper.showOptionPicker(mActivity, "列表选择", productName, new OnOptionsSelectListener() {
            @Override
            public void onOptionsSelect(int options1, int options2, int options3, View v) {
                    
            }
        });

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在JavaScript中,可以使用以下代码将输入的值赋给输入框: ```javascript var inputValue = prompt("请输入值:"); //输入框 document.getElementById("inputBox").value = inputValue; //将输入框的值设为输入的值 ``` 其中,`prompt()`方法会出一个带有输入框的对话框,让用户输入值,并将用户输入的值作为方法的返回值。`document.getElementById()`方法可以通过元素的ID获取该元素的引用,然后使用`value`属性将输入框的值设为输入的值。假设输入框的ID为`inputBox`,则可以使用以上代码将输入的值赋给输入框。 ### 回答2: 要将输入的值赋给输入框,首先需要通过JavaScript来实现。 1. 首先,在HTML中,为输入框和按钮等元素设置一个唯一的id属性,以便通过JavaScript代码找到它们。 2. 在JavaScript中,使用document.getElementById()获取到输入框和目标输入框的引用。 3. 创建一个函数,用于在按钮点击时触发。在函数中,使用prompt()函数创建一个,接受用户输入的值。 4. 将中获得的值赋给目标输入框的value属性。可以使用"="操作符来实现赋值。 以下是一个示例代码: HTML: <input type="text" id="targetInput"> <button onclick="assignValue()">点击赋值</button> JavaScript: function assignValue() { var inputValue = prompt("请输入值:"); var targetInput = document.getElementById("targetInput"); targetInput.value = inputValue; } 通过以上代码,当用户点击按钮时,会出一个口要求输入值。用户输入值后,点击确定,这个值将赋给目标输入框。在这个示例中,目标输入框的id为"targetInput"。 ### 回答3: 输入的值可以通过以下步骤赋给输入框: 1. 在页面上创建一个输入框元素,可以使用HTML中的<input>标签,并添加一个唯一的ID以便于后续查找。 2. 使用JavaScript添加一个事件监听器,以便在输入值后触发特定的函数。 3. 在函数中,使用window.prompt()方法显示一个,要求用户输入值。该方法会返回用户输入的值。 4. 在函数中,将返回的值赋给一个变量。 5. 在赋值函数中,使用document.getElementById()方法通过输入框的ID找到输入框元素。 6. 使用该元素的value属性将输入的值赋给输入框。 以下是对应的代码示例: HTML代码: ``` <input type="text" id="inputBox" /> <button onclick="openPrompt()">点击输入值</button> ``` JavaScript代码: ``` function openPrompt() { var userInput = window.prompt("请输入值:"); assignInputValue(userInput); } function assignInputValue(userInput) { var inputElement = document.getElementById("inputBox"); inputElement.value = userInput; } ``` 通过以上步骤,当用户点击“点击输入值”按钮时,会出现一个,用户可以在其中输入一个值。输入的值会自动赋给页面上的输入框。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值