没什么技术难点,照着api做的。
这是效果图
我们先对Toast自定义一个布局:
<?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="wrap_content"
android:orientation="horizontal" >
<ImageView
android:src="@drawable/toast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:textSize="25sp"
/>
</LinearLayout>
下面是关键代码,我把它封装成了一个类。
public class MyToast extends Toast{
public MyToast(Context context,String msg) {
super(context);
LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout=inflater.inflate(R.layout.toast, null);
TextView text=(TextView) layout.findViewById(R.id.text);
text.setText(msg);
setGravity(Gravity.CENTER_VERTICAL, 0, 0);
setDuration(LENGTH_SHORT);
setView(layout);
}
}