欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

android之自定义Toast使用方法

程序员文章站 2023-12-02 19:53:10
android系统默认的toast十分简洁,使用也非常的简单。但是有时我们的程序使用默认的toast时会和程序的整体风格不搭配,这个时候我们就需要自定义toast,使其与我...
android系统默认的toast十分简洁,使用也非常的简单。但是有时我们的程序使用默认的toast时会和程序的整体风格不搭配,这个时候我们就需要自定义toast,使其与我们的程序更加融合。

使用自定义toast,首先我们需要添加一个布局文件,该布局文件的结构和activity使用的布局文件结构一致,在该布局文件中我们需设计我们toast的布局,例如:
复制代码 代码如下:

<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toast_layout_root"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:background="#daaa"
>
<imageview android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginright="10dp"
/>
<textview android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textcolor="#fff"
/>
</linearlayout>

在这个地方要注意,我们给linearlayout添加的id属性,在后面的代码中我们需要使用到。在程序中,我们可以通过如下代码创建我们自己的toast:
复制代码 代码如下:

public class mainactivity extends activity
{
private button btn;
@override
public void oncreate(bundle savedinstancestate)
{
super.oncreate(savedinstancestate);
setcontentview(r.layout.main);
btn = (button) findviewbyid(r.id.btn);
btn.setonclicklistener(new onclicklistener()
{
@override
public void onclick(view v)
{
//获取layoutinflater对象,该对象能把xml文件转换为与之一直的view对象
layoutinflater inflater = getlayoutinflater();
//根据指定的布局文件创建一个具有层级关系的view对象
//第二个参数为view对象的根节点,即linearlayout的id
view layout = inflater.inflate(r.layout.toast_layout, (viewgroup) findviewbyid(r.id.toast_layout_root));
//查找imageview控件
//注意是在layout中查找
imageview image = (imageview) layout.findviewbyid(r.id.image);
image.setimageresource(r.drawable.head);
textview text = (textview) layout.findviewbyid(r.id.text);
text.settext("自定义toast演示程序");
toast toast = new toast(getapplicationcontext());
//设置toast的位置
toast.setgravity(gravity.center_vertical, 0, 0);
toast.setduration(toast.length_long);
//让toast显示为我们自定义的样子
toast.setview(layout);
toast.show();
}
});
}
}

运行效果:
android之自定义Toast使用方法 
囧神的世界你不懂,虫哥的生活你没有,只有程序猿的世界大家才知道。程序猿们,为了自己的精彩世界奋斗吧,努力吧!加油……