短视频系统源码,点击选择框,底部弹出可以选择的选项

短视频系统源码,点击选择框,底部弹出可以选择的选项实现的相关代码

导入依赖:

 

1
<br>implementation 'com.lxj:xpopup:1.9.0'<br> <br>implementation 'com.contrarywind:Android-PickerView:4.1.9'<br> <br>public class DialogHelper {<br> <br>    public static void showConfirmDialog(Context context, String title, CharSequence content,<br>                                         CharSequence cancelText, CharSequence confirmText, OnConfirmListener listener, OnCancelListener cancelListener) {<br>        ConfirmDialog confirmDialog = new ConfirmDialog(context)<br>                .setCancelText(cancelText)<br>                .setConfirmText(confirmText)<br>                .setTitleContent(title, content, null)<br>                .setListener(listener, cancelListener);<br>        new XPopup.Builder(context)<br>                .setPopupCallback(new SimpleCallback())<br>                .isCenterHorizontal(true)<br>                .asCustom(confirmDialog)<br>                .show();<br>    }<br> <br>    public static void showConfirmDialog(Context context, String title, CharSequence content,<br>                                         boolean isHideCancel, OnConfirmListener listener) {<br>        ConfirmDialog confirmDialog = new ConfirmDialog(context)<br>                .setCancelText(context.getString(R.string.cancel))<br>                .setConfirmText(context.getString(R.string.text_sure))<br>                .setTitleContent(title, content, null)<br>                .setListener(listener, null);<br>        if (isHideCancel) confirmDialog.hideCancelBtn();<br> <br>        new XPopup.Builder(context)<br>                .setPopupCallback(new SimpleCallback())<br>                .isCenterHorizontal(true)<br>                .asCustom(confirmDialog)<br>                .show();<br>    }<br> <br>    public static void showConfirmDialog2(Context context, String title, CharSequence content, OnConfirmListener listener) {<br>        ConfirmDialog confirmDialog = new ConfirmDialog(context)<br>                .setCancelText(context.getString(R.string.cancel))<br>                .setConfirmText(context.getString(R.string.close_dialog))<br>                .setTitleContent(title, content, null)<br>                .setListener(listener, null);<br>        confirmDialog.hideCancelBtn();<br> <br>        new XPopup.Builder(context)<br>                .setPopupCallback(new SimpleCallback())<br>                .isCenterHorizontal(true)<br>                .asCustom(confirmDialog)<br>                .show();<br>    }<br> <br>    public static void showConfirmDialog(Context context, String title, CharSequence content,<br>                                         OnConfirmListener listener, OnCancelListener cancelListener) {<br>        ConfirmDialog confirmDialog = new ConfirmDialog(context)<br>                .setCancelText(context.getString(R.string.cancel))<br>                .setConfirmText(context.getString(R.string.text_sure))<br>                .setTitleContent(title, content, null)<br>                .setListener(listener, cancelListener);<br>        new XPopup.Builder(context)<br>                .setPopupCallback(new SimpleCallback())<br>                .isCenterHorizontal(true)<br>                .asCustom(confirmDialog)<br>                .show();<br>    }<br> <br>    public static BasePopupView showConfirmDialog(Context context, String title, CharSequence content, OnConfirmListener listener) {<br>        ConfirmDialog confirmDialog = new ConfirmDialog(context)<br>                .setCancelText(context.getString(R.string.cancel))<br>                .setConfirmText(context.getString(R.string.text_sure))<br>                .setTitleContent(title, content, null)<br>                .setListener(listener, null);<br>        return new XPopup.Builder(context)<br>                .dismissOnTouchOutside(false)<br>                .dismissOnBackPressed(false)<br>                .setPopupCallback(new SimpleCallback())<br>                .asCustom(confirmDialog)<br>                .show();<br>    }<br> <br>    public static void showOptionPicker(Context context, String title, List<String> list, OnOptionsSelectListener listener) {<br>        OptionsPickerView<String> pvOptions = new OptionsPickerBuilder(context, listener)<br>                .setTitleText(title)<br>                .setTitleSize(14)<br>                .setSubCalSize(14)<br>                .setContentTextSize(16)//设置滚轮文字大小<br>                .setDividerColor(Color.LTGRAY)//设置分割线的颜色<br>//                .setSelectOptions(0, 1)//默认选中项<br>                .setBgColor(Color.WHITE)<br>                .setTitleBgColor(Color.WHITE)<br>                .setTitleColor(Color.BLACK)<br>                .setSubmitColor(Color.rgb(255, 117, 105))<br>                .setCancelColor(Color.rgb(153, 153, 153))<br>                .setTextColorCenter(Color.BLACK)<br>                .setCyclic(false, false, false)<br>                .isRestoreItem(false)//切换时是否还原,设置默认选中第一项。<br>                .isCenterLabel(true) //是否只显示中间选中项的label文字,false则每项item全部都带有label。<br>//                .setBackgroundId(0x00000000) //设置外部遮罩颜色<br>                .build();<br>        pvOptions.setPicker(list);//一级选择器<br>        pvOptions.show();<br>    }<br> <br>    public static void showOptionPicker(Context context, String title, List<String> list, int option1, OnOptionsSelectListener listener) {<br>        OptionsPickerView<String> pvOptions = new OptionsPickerBuilder(context, listener)<br>                .setTitleText(title)<br>                .setTitleSize(14)<br>                .setSubCalSize(12)<br>                .setContentTextSize(14)//设置滚轮文字大小<br>                .setDividerColor(Color.LTGRAY)//设置分割线的颜色<br>                .setSelectOptions(option1)//默认选中项<br>                .setBgColor(Color.WHITE)<br>                .setTitleBgColor(Color.WHITE)<br>                .setTitleColor(Color.BLACK)<br>                .setSubmitColor(Color.rgb(255, 117, 105))<br>                .setCancelColor(Color.rgb(153, 153, 153))<br>                .setTextColorCenter(Color.BLACK)<br>                .setCyclic(false, false, false)<br>                .isRestoreItem(false)//切换时是否还原,设置默认选中第一项。<br>                .isCenterLabel(true) //是否只显示中间选中项的label文字,false则每项item全部都带有label。<br>//                .setBackgroundId(0x00000000) //设置外部遮罩颜色<br>                .build();<br>        pvOptions.setPicker(list);//一级选择器<br>        pvOptions.show();<br>    }<br> <br>    /**<br>     * Dialog 模式下,在底部弹出<br>     *<br>     * @param context<br>     * @param title<br>     * @param listener<br>     */<br>    public static void showTimePicker(Context context, String title, OnTimeSelectListener listener) {<br>        //系统当前时间<br>        Calendar selectedDate = Calendar.getInstance();<br>        Calendar startDate = Calendar.getInstance();<br>        startDate.set(2000, 0, 1);<br>        Calendar endDate = Calendar.getInstance();<br>        TimePickerView mTimePickerView;<br>        mTimePickerView = new TimePickerBuilder(context, listener)<br>                .setDate(selectedDate)<br>                .setRangDate(startDate, endDate)<br>                .setTitleText(title)<br>                .setTitleSize(14)<br>                .setSubCalSize(12)<br>                .setContentTextSize(14)<br>                .setDividerColor(Color.LTGRAY)//设置分割线的颜色<br>                .setBgColor(Color.WHITE)<br>                .setTitleBgColor(Color.WHITE)<br>                .setTitleColor(Color.rgb(51, 51, 51))<br>                .setSubmitColor(Color.rgb(255, 117, 105))<br>                .setCancelColor(Color.rgb(153, 153, 153))<br>                .setTextColorCenter(Color.rgb(51, 51, 51))<br>                .setType(new boolean[]{true, true, true, false, false, false})<br>                .isCyclic(false)<br>                .isDialog(true)<br>                .build();<br>        Dialog mDialog = mTimePickerView.getDialog();<br>        if (mDialog != null) {<br>            FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(<br>                    ViewGroup.LayoutParams.MATCH_PARENT,<br>                    ViewGroup.LayoutParams.WRAP_CONTENT,<br>                    Gravity.BOTTOM);<br> <br>            params.leftMargin = 0;<br>            params.rightMargin = 0;<br>            mTimePickerView.getDialogContainerLayout().setLayoutParams(params);<br>            Window dialogWindow = mDialog.getWindow();<br>            if (dialogWindow != null) {<br>                dialogWindow.setWindowAnimations(R.style.picker_view_slide_anim);//修改动画样式<br>                dialogWindow.setGravity(Gravity.BOTTOM);//改成Bottom,底部显示<br>            }<br>        }<br>        mTimePickerView.show();<br>    }<br> <br> <br>    public static void showPasswordDialog(Context mContext, String title, String content, String inputContent, String hint, OnInputConfirmListener listener) {<br> <br>        new XPopup.Builder(mContext)<br>                //.dismissOnBackPressed(false)<br>                .autoOpenSoftInput(true)<br>//                        .autoFocusEditText(false) //是否让弹窗内的EditText自动获取焦点,默认是true<br>                .isRequestFocus(false)<br>                .isCenterHorizontal(true)<br>                //.moveUpToKeyboard(false)   //是否移动到软键盘上面,默认为true<br>                .asInputConfirm(title, content, inputContent, hint, listener)<br>                .bindLayout(R.layout.dialog_password_confirm)<br>                .show();<br>    }<br> <br> <br>}

使用:

 

1
<br>showConfirmDialog("系统提示", "确定退出吗?", this::finish);<br> <br> <br>showConfirmDialog("系统提示", "确定退出吗?", ()->{});<br> <br> <br>List<String> productName = new ArrayList<>();<br>DialogHelper.showOptionPicker(mActivity, "列表选择", productName, new OnOptionsSelectListener() {<br>            @Override<br>            public void onOptionsSelect(int options1, int options2, int options3, View v) {<br>                    <br>            }<br>        });

 

以上就是短视频系统源码,点击选择框,底部弹出可以选择的选项实现的相关代码, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(65)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示