免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2013 | 回复: 1
打印 上一主题 下一主题

Android深入浅出系列之实例应用—弹出消息Toast对象的使用自定义方式(二) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-03 20:53 |只看该作者 |倒序浏览

Android深入浅出系列之实例应用—弹出消息Toast对象的使用自定义方式(二)










  阅读目录

  一:前言

  二:实例

  三:运行效果

  一:前言
  Android中定义了一个Toast对象,用以弹出一个窗口来给予用户帮助和提示,和对话框不同的是,Toast并不是以独占方式显示的,它并不会抢夺用户的焦点,在弹出Toast的时候,依然可以对之前的界面进行操作,我们在“”一文中介绍了纯文本的Toast的使用,我们完全可以自定义Toast的显示内容和显示位置

  要自定义一个Toast也很简单,同样需要创建一个Toast对象,然后实现相应的方法即可

  二:实例

  1:布局文件

  1.1 myoast.xml
  1.  <?xml version="1.0" encoding="utf-8"?>
  2.   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.        android:orientation="vertical"
  4.          android:layout_width="fill_parent"
  5.          android:layout_height="fill_parent"
  6.       >
  7.   <ImageView
  8.       android:id="@+id/iv"
  9.      android:layout_width="wrap_content"
  10.       android:layout_height="wrap_content"
  11.       android:src="@drawable/mytoast"
  12.       android:layout_gravity="center_vertical"
  13.   />
  14.   </LinearLayout>
复制代码
2:代码文件
  1.   2.1 MainActivity.java

  2.   package com.menglin.toast;

  3.   import android.app.Activity;
  4.   import android.os.Bundle;
  5.   import android.text.Editable;
  6.   import android.view.Gravity;
  7.   import android.view.View;
  8.   import android.view.View.OnClickListener;
  9.   import android.widget.Button;
  10.   import android.widget.EditText;
  11.   import android.widget.Toast;

  12.   public class MainActivity extends Activity
  13.   {
  14.     //声明两个Button对象
  15.     private Button mybtn1,mybtn2;
  16.     //声明一个EditText对象
  17.     private EditText myedittext;
  18.     @Override
  19.     public void onCreate(Bundle savedInstanceState)
  20.     {
  21.         super.onCreate(savedInstanceState);
  22.         //加载main.xml布局文件
  23.         setContentView(R.layout.main);
  24.         //以findViewById()方法取得Button对象
  25.         mybtn1 = (Button)findViewById(R.id.btn1);
  26.        mybtn2 = (Button)findViewById(R.id.btn2);
  27.        //以findViewById()方法取得EditText对象
  28.         myedittext = (EditText)findViewById(R.id.et);
  29.         //给Button对象绑定单击监听事件
  30.        mybtn1.setOnClickListener(listener);
  31.        mybtn2.setOnClickListener(listener);
  32.     }

  33.      //监听事件
  34.     private OnClickListener listener = new OnClickListener()
  35.     {
  36.         @Override
  37.        public void onClick(View v)
  38.         {
  39.           switch (v.getId())
  40.           {
  41.               case R.id.btn1:
  42.                  //声明字符串变量
  43.                  Editable str;
  44.                  //得到由用户输入EditText的文字内容
  45.                  str = myedittext.getText();
  46.                  //使用Toast.makeText()方法来产生Toast信息
  47.                  Toast.makeText(MainActivity.this, str.toString(), Toast.LENGTH_LONG).show();
  48.                  //清空EditText
  49.                  myedittext.setText("");
  50.                break;
  51.               case R.id.btn2:
  52.                  //导入布局文件
  53.                  View view = getLayoutInflater().inflate(R.layout.mytoast, null);
  54.                  //得到Toast对象
  55.                  Toast toast = new Toast(MainActivity.this);
  56.                  //设置Toast对象的位置,3个参数分别为位置,X轴偏移,Y轴偏移
  57.                  toast.setGravity(Gravity.CENTER, 0, 0);
  58.                  //设置Toast对象的显示时间
  59.                  toast.setDuration(Toast.LENGTH_LONG);
  60.                  //设置Toast对象所要展示的视图
  61.                  toast.setView(view);
  62.                  //显示Toast
  63.                  toast.show();
  64.               break;
  65.               default:
  66.               break;
  67.            }
  68.          }
  69.       };
  70.     }
复制代码
三:运行效果

  布局

  

  单击“纯文本方式Toast”按钮

  

  单击“自定义方式Toast”按钮

论坛徽章:
0
2 [报告]
发表于 2012-03-03 20:54 |只看该作者
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP