源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

android自定义toast(widget开发)示例

  • 时间:2022-03-06 11:51 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:android自定义toast(widget开发)示例
1、Toast控件: 通过查看源代码,发现Toast里面实现的原理是通过服务Context.LAYOUT_INFLATER_SERVICE获取一个LayoutInflater布局管理器,从而获取一个View对象(TextView),设置内容将其显示
[u]复制代码[/u] 代码如下:
public static Toast makeText(Context context, CharSequence text, int duration) {         Toast result = new Toast(context);         LayoutInflater inflate = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);         View v = inflate.inflate(com.android.internal.R.layout.transient_notification, null);         TextView tv = (TextView)v.findViewById(com.android.internal.R.id.message);         tv.setText(text);         result.mNextView = v;         result.mDuration = duration;         return result;     }
定义布局文件:
[u]复制代码[/u] 代码如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="200dip"     android:layout_height="wrap_content"     android:orientation="horizontal" >     <ImageView         android:id="@+id/iv_my_toast"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:src="@drawable/notification" />     <TextView         android:id="@+id/tv_my_toast"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:textSize="18sp"         android:text="text"         /> </LinearLayout>
自定义MyToast类:
[u]复制代码[/u] 代码如下:
public class MyToast {     /**      * 显示自定义的土司      * @param context 上下文      * @param iconid 图标的id      * @param text 显示的文本      */     public static void showToast(Context context,int iconid, String text){         View view = View.inflate(context, R.layout.my_toast, null);            TextView tv = (TextView) view.findViewById(R.id.tv_my_toast);         ImageView iv = (ImageView) view.findViewById(R.id.iv_my_toast);         iv.setImageResource(iconid);         tv.setText(text);         Toast toast = new Toast(context);         toast.setDuration(0);         toast.setView(view);         toast.show();     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部