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

网站建设和托管哪家好17岁高清免费观看完整版

网站建设和托管哪家好,17岁高清免费观看完整版,小程序代理合同范本,药材公司网站建设模板支持自定义布局#xff1a;可以灵活地显示自定义样式的 Toast。 线程安全#xff1a;确保在主线程中显示 Toast#xff0c;避免崩溃。 避免内存泄漏#xff1a;使用 ApplicationContext 和取消机制#xff0c;防止内存泄漏问题。 工具类#xff1a;作为一个通用的工具…支持自定义布局可以灵活地显示自定义样式的 Toast。 线程安全确保在主线程中显示 Toast避免崩溃。 避免内存泄漏使用 ApplicationContext 和取消机制防止内存泄漏问题。 工具类作为一个通用的工具类方便在项目中复用。 ToastUtil import android.content.Context; import android.os.Handler; import android.os.Looper; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; import android.widget.Toast;public class ToastUtil {private static Toast toast; // 全局Toast对象避免重复创建private static final int DEFAULT_GRAVITY Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL; // 默认显示位置private static final int DEFAULT_Y_OFFSET 100; // 默认Y轴偏移量private static final Handler mainHandler new Handler(Looper.getMainLooper()); // 主线程Handler/*** 显示短时间的Toast** param context 上下文* param message 要显示的消息*/public static void showShort(Context context, String message) {showToast(context, message, Toast.LENGTH_SHORT, DEFAULT_GRAVITY, 0, DEFAULT_Y_OFFSET);}/*** 显示长时间的Toast** param context 上下文* param message 要显示的消息*/public static void showLong(Context context, String message) {showToast(context, message, Toast.LENGTH_LONG, DEFAULT_GRAVITY, 0, DEFAULT_Y_OFFSET);}/*** 显示短时间的Toast使用字符串资源ID** param context 上下文* param resId 字符串资源ID*/public static void showShort(Context context, int resId) {showShort(context, context.getString(resId));}/*** 显示长时间的Toast使用字符串资源ID** param context 上下文* param resId 字符串资源ID*/public static void showLong(Context context, int resId) {showLong(context, context.getString(resId));}/*** 显示自定义位置的Toast** param context 上下文* param message 要显示的消息* param gravity 显示位置例如 Gravity.TOP* param xOffset X轴偏移量* param yOffset Y轴偏移量*/public static void showAtPosition(Context context, String message, int gravity, int xOffset, int yOffset) {showToast(context, message, Toast.LENGTH_SHORT, gravity, xOffset, yOffset);}/*** 显示自定义布局的Toast** param context 上下文* param layoutResId 自定义布局资源ID* param message 要显示的消息*/public static void showCustom(Context context, int layoutResId, String message) {runOnUiThread(() - {if (toast ! null) {toast.cancel(); // 取消之前的Toast}// 使用ApplicationContext避免内存泄漏Context appContext context.getApplicationContext();LayoutInflater inflater (LayoutInflater) appContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);View layout inflater.inflate(layoutResId, null);// 查找布局中的TextView假设id为textTextView textView layout.findViewById(R.id.text);if (textView ! null) {textView.setText(message);}toast new Toast(appContext);toast.setDuration(Toast.LENGTH_SHORT);toast.setView(layout);toast.show();});}/*** 显示自定义布局的Toast支持自定义显示时长** param context 上下文* param layoutResId 自定义布局资源ID* param message 要显示的消息* param duration 显示时长Toast.LENGTH_SHORT 或 Toast.LENGTH_LONG*/public static void showCustom(Context context, int layoutResId, String message, int duration) {runOnUiThread(() - {if (toast ! null) {toast.cancel(); // 取消之前的Toast}// 使用ApplicationContext避免内存泄漏Context appContext context.getApplicationContext();LayoutInflater inflater (LayoutInflater) appContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);View layout inflater.inflate(layoutResId, null);// 查找布局中的TextView假设id为textTextView textView layout.findViewById(R.id.text);if (textView ! null) {textView.setText(message);}toast new Toast(appContext);toast.setDuration(duration);toast.setView(layout);toast.show();});}/*** 核心方法显示Toast** param context 上下文* param message 要显示的消息* param duration 显示时长Toast.LENGTH_SHORT 或 Toast.LENGTH_LONG* param gravity 显示位置* param xOffset X轴偏移量* param yOffset Y轴偏移量*/private static void showToast(Context context, String message, int duration, int gravity, int xOffset, int yOffset) {runOnUiThread(() - {if (toast ! null) {toast.cancel(); // 取消之前的Toast}// 使用ApplicationContext避免内存泄漏Context appContext context.getApplicationContext();toast Toast.makeText(appContext, message, duration);toast.setGravity(gravity, xOffset, yOffset); // 设置显示位置toast.show();});}/*** 取消Toast*/public static void cancelToast() {if (toast ! null) {toast.cancel();toast null; // 释放引用}}/*** 确保在主线程中运行** param runnable 需要执行的任务*/private static void runOnUiThread(Runnable runnable) {if (Looper.myLooper() Looper.getMainLooper()) {runnable.run(); // 当前是主线程直接运行} else {mainHandler.post(runnable); // 当前是子线程切换到主线程运行}} }使用示例 显示自定义布局的 Toast ToastUtil.showCustom(MainActivity.this, R.layout.custom_toast, 这是一个自定义Toast);在子线程中调用 new Thread(() - {// 在子线程中调用ToastUtil.showCustom(MainActivity.this, R.layout.custom_toast, 子线程中的自定义Toast); }).start();自定义布局示例 假设 res/layout/custom_toast.xml 是一个自定义布局文件例如 !-- res/layout/custom_toast.xml -- LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:backgrounddrawable/toast_backgroundandroid:padding16dpandroid:orientationhorizontalImageViewandroid:idid/iconandroid:layout_width24dpandroid:layout_height24dpandroid:srcdrawable/ic_toast_iconandroid:layout_marginEnd8dp/TextViewandroid:idid/textandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textColorandroid:color/whiteandroid:textSize16sp/ /LinearLayout
http://www.dnsts.com.cn/news/268871.html

相关文章:

  • 济南做网站公司哪家好网站搭建推广优化
  • 电脑网站大全创建自己的网站需要多少钱
  • 网站推广和seo一个备案可以做几个网站吗
  • 响应式网站怎么做无缝轮播图wordpress调用当前分类名
  • 高唐做网站推广广东企业网站模板定制
  • 杭州网站建设技术西部数码网站源码
  • asp程序制作网站如何选择家居网站建设
  • 秦皇岛陵县网站建设最新国内重大新闻
  • 网站建设推荐华网天下vps可以用了做网站吗
  • 爬闪数媒 网站建设网站嵌入播放器
  • 湖北荆门建设银行网站新闻播报最新
  • 重庆建设网站首页国外空间怎么上传网站
  • 青岛电子商务的网站建设做网站如何把支付宝微信吧
  • wordpress个人网站卯兔科技西安网站建设
  • asp.net mvc 做网站wordpress本地数据
  • 做网站有哪些类型哈尔滨信息工程学院地址
  • 沭阳找做网站合伙电商到底是什么
  • 网站开发栏目需求1服装网页设计模板
  • 网站维护一次一般要多久精品课程建设网站清单
  • 个人建设视频网站徐州建设局工程交易网
  • 网站免费在线观看网站建设属于广告费么
  • 让一个网站掉排名一男一女做那个的动漫视频网站
  • 用seo对网站做分析微信小程序下单助手商家版
  • 网站建设的工具盐城网站优化工作室
  • 西乡建网站公司免费生产管理erp
  • 怎么用手机做抖音上最火的表白网站网站建设朋友圈
  • 文化管 网站建设规划培训计划方案
  • 网站建设哪种语言好网站添加wordpress
  • 做网站的镜像是什么意思做网站基础源代码
  • ps网站页面设计教程网站制作多少钱400