Android自定义实现好看的toast
jopen
11年前
系统已经给我们提供了toast,但是有时候风格和我们应用的整体风格不搭配,这个时候,我们需要,自定义来实现toast,比较简单。
主要代码如下:
xml文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:gravity="center" > <ImageView android:id="@+id/toast_img" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/ic_launcher" /> <TextView android:background="@drawable/toast_shap" android:id="@+id/toast_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" android:gravity="center" android:textColor="#ffffff" android:textSize="14sp" android:textStyle="bold" /> </LinearLayout>
这个xml定义了一个有图片的toast
xml2:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:background="@drawable/toast_shap" android:id="@+id/toast_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" android:gravity="center" android:textColor="#ffffff" android:textSize="14sp" android:textStyle="bold" /> </LinearLayout>
纯文本的toast
java代码,很简单,把它封装在一个类里面,其他地方就可以随时使用了
public static void toast(Context context,String content) { view=LayoutInflater.from(context).inflate(R.layout.toast_item, null); //加载布局文件 TextView textView=(TextView) view.findViewById(R.id.toast_text); // 得到textview textView.setText(content); //设置文本类荣,就是你想给用户看的提示数据 Toast toast=new Toast(context); //创建一个toast toast.setDuration(Toast.LENGTH_SHORT); //设置toast显示时间,整数值 toast.setGravity(Gravity.CENTER, Gravity.CENTER, Gravity.CENTER); //toast的显示位置,这里居中显示 toast.setView(view); //設置其显示的view, toast.show(); //显示toast }
代码很简单,你可以根据自己需求,为toast设置不同的view即可