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();
}
});
}
}
运行效果:
囧神的世界你不懂,虫哥的生活你没有,只有程序猿的世界大家才知道。程序猿们,为了自己的精彩世界奋斗吧,努力吧!加油……
使用自定义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 显示时间
-
Android控件系列之EditText使用方法
-
Android控件系列之RadioButton与RadioGroup使用方法
-
Android控件系列之ImageView使用方法
-
android之自定义Toast使用方法
-
Android开发之瀑布流控件的实现与使用方法示例
-
android之视频播放系统VideoView和自定义VideoView控件的应用
-
android之HttpPost&HttpGet使用方法介绍
-
Android开发之MediaPlayer基本使用方法详解
-
Android开发技巧之永不关闭的Toast信息框(长时间显示而非系统关闭)