当前位置: 首页 > news >正文

万动力网站做旅游网站的产品经理如何

万动力网站,做旅游网站的产品经理如何,手机网页页面设计模板,建设银行忘记密码网站首页📖封装加载弹框 ✅1. 构造LoadingDialog✅2. 调用LoadingDialog 效果: ✅1. 构造LoadingDialog 构造LoadingDialog类涉及到设计模式中的建造者模式,进行链式调用,注重的是构建的过程,设置需要的属性。 步骤一&#x…

📖封装加载弹框

    • ✅1. 构造LoadingDialog
    • ✅2. 调用LoadingDialog

效果:

111

✅1. 构造LoadingDialog

构造LoadingDialog类涉及到设计模式中的建造者模式,进行链式调用,注重的是构建的过程,设置需要的属性。

步骤一:在utils包下创建LoadingDialog

import android.app.Dialog;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;public class LoadingDialog extends Dialog {public LoadingDialog(Context context, int themeResId) {super(context, themeResId);}public static class Builder {private Context context;//上下文private String message;//提示信息private boolean isShowMessage = true;//是否显示提示信息private boolean isCancelable = false;//返回键是否可以取消private boolean isCancelOutside = false;//点击外部是否可以取消//构造方法传入上下文public Builder(Context context) {this.context = context;}//设置提示信息public Builder setMessage(String message) {this.message = message;return this;}//设置是否显示提示信息public Builder setShowMessage(boolean isShowMessage) {this.isShowMessage = isShowMessage;return this;}//设置是否可以按返回键取消public Builder setCancelable(boolean isCancelable) {this.isCancelable = isCancelable;return this;}//设置是否可以取消public Builder setCancelOutside(boolean isCancelOutside) {this.isCancelOutside = isCancelOutside;return this;}//创建LoadingDialog对象public LoadingDialog create() {LayoutInflater inflater = LayoutInflater.from(context);View view = inflater.inflate(R.layout.dialog_loading, null);LoadingDialog loadingDailog = new LoadingDialog(context, R.style.MyProgressDialog);TextView msgText = (TextView) view.findViewById(R.id.messageTextView);if (isShowMessage) {msgText.setText(message);} else {msgText.setVisibility(View.GONE);}loadingDailog.setContentView(view);loadingDailog.setCancelable(isCancelable);loadingDailog.setCanceledOnTouchOutside(isCancelOutside);return loadingDailog;}}
}

步骤二:在layout文件下添加组件:dialog_loading.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"><!--白色:<color name="white">#ffffffff</color>--><LinearLayoutandroid:layout_width="140dp"android:layout_height="100dp"android:gravity="center"android:orientation="vertical"android:background="@drawable/shape_dialog_redius_gray"><ProgressBarandroid:id="@+id/progressBar"android:layout_width="40dp"android:layout_height="40dp"android:layout_centerHorizontal="true"android:layout_centerVertical="true"android:indeterminate="true"android:indeterminateTint="@android:color/white" /><TextViewandroid:id="@+id/messageTextView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/progressBar"android:layout_centerHorizontal="true"android:layout_marginTop="16dp"android:textColor="@android:color/white"android:textSize="16sp" /></LinearLayout></RelativeLayout>

步骤三:在drawable文件下添加shape:shape_dialog_redius_gray.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" ><!--黑色半透明:<color name="black_transparent">#98000000</color>--><solid android:color="@color/black_transparent" /><corners android:radius="5dp" />
</shape>

步骤四:在 values 文件下的themes.xml下添加如下主题

	<!--弹框加载样式--><!--透明色:<color name="transparent">#00000000</color>--><style name="MyProgressDialog" parent="Theme.AppCompat.Dialog"><item name="android:windowBackground">@android:color/transparent</item><!--背景透明--><item name="android:windowIsFloating">true</item><!--是否浮动--><item name="android:backgroundDimEnabled">false</item><!--对话框背后的内容是否被暗淡--><item name="android:windowContentOverlay">@null</item><!--设置窗口的内容覆盖物--><item name="android:statusBarColor">@null</item><!--状态栏背景色--></style>

✅2. 调用LoadingDialog

在点击事件或者发生http请求时显示弹框,请求结束后关闭显示即可,下面是使用1秒延时来模拟发送请求

private Handler mHandler = new Handler();//全局定义send.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {//加载弹窗LoadingDialog loadingDialog = new LoadingDialog.Builder(getActivity()).setMessage("加载中...").setCancelable(true)//返回键是否可关闭.setCancelOutside(false)//点击弹框外是否可关闭.create();//显示loadingDialog.show();//模拟异步发送请求后关闭加载弹窗mHandler.postDelayed(new Runnable() {@Overridepublic void run() {//关闭显示loadingDialog.dismiss();}}, 1000);}});
http://www.yayakq.cn/news/698928/

相关文章:

  • 湖南网站建设的公司温州seo优化排名公司
  • 自己做图片网站网站开发加维护需要多少钱
  • 做数据可视化的网站百度网站的建设
  • 优化型网站建设好看的单页面网站模板免费下载
  • 大庆建设中等职业技术学校网站电商设计网站有哪些
  • 更新网站的图片加不上水印北京制作公司网站
  • 中文域名 网站wordpress需要备案吗
  • 西安网站建设工程网络营销运营策划
  • 网站当电话线太原站建设有多长时间
  • 软件公司有哪些部门东莞seo网站关键词优优化
  • 企业建站要多少钱做网站需要的相关知识
  • 网站建设 网络推广 网站优化网站备案不能更新吗
  • 规则网站建设阿里云部署网站教程
  • 专做logo网站叫什么地方中国建设人才服务信息网证书查询
  • 余姚网站如何进行优化青岛本地生活网
  • 小学生做电子小报的网站PHP做的网站能容纳多少人
  • 电子商务企业网站建设发展论文雨花区师德师风建设专题网站
  • 谈谈网站建设创新问题一站式服务图片
  • 如何做网站本地服务器吗什么是企业形象设计
  • 响应式网站建站价格公众号软文怎么写
  • 学校网站首页设计网页设计与制作教程欧静美
  • 嘉纪商正网站建设公司排名好的成都网站建设
  • 谷歌网站模板中国最大网站排名
  • 网站开发的进度怎么写王磊网站建设
  • 贵州两学一做专题网站移动端开发工程师
  • 安防行业网站建设方案博星卓越网站建设实验代码
  • 山西免费网站关键词优化排名网站建设意义和目的
  • 网站开发自定义模块进修学校 网站建设目标
  • 唯品会一家做特卖的网站手机版西部数码域名怎么样
  • 一个空间能否做两个网站威海那家做网站好