开发步骤:

  • 在toast_customer.xml文件中添加一个图片组件对象显示提示图片
 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout ......> <ImageView android:id="@+id/toastIcon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"/> ...... </LinearLayout>
  • 在LoginActivity.java类中的自定义Toast调用方法中添加对图片组件的设置
 public class LoginActivity extends AppCompatActivity {

     ........

     private void showCustomerToast(final int icon, final String message){
LayoutInflater inflater=getLayoutInflater();
View layout=inflater.inflate(R.layout.toast_customer, (ViewGroup) findViewById(R.id.toast_layout_root));
...... //图片组件的设置
ImageView toastIcon=(ImageView)layout.findViewById(R.id.toastIcon);
toastIcon.setBackgroundResource(icon); ...... Toast toast=new Toast(getApplicationContext());
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
}
......
}
  • 调用该方法
 public class LoginActivity extends AppCompatActivity {
......
private class ViewOcl implements View.OnClickListener{
public void onClick (View v){
......
if (login_flag) {
showCustomerToast(android.R.drawable.ic_menu_call,"欢迎登录," + account);
......
}
else {
showCustomerToast(android.R.drawable.ic_delete,"账号或密码错误");
}
break;
......
}
}
......
}

运行:

接下来,同理,把自定义方法showCustomerToast()放入Register_Activity.java中,在Checkform()中调用,修改注册页面的警告样式:

 public class Register_Activity extends AppCompatActivity {
......
private boolean checkform() {
if (this.txtRegAccount.getText().toString() == null || this.txtRegAccount.getText().toString().length() == 0) { //Toast.makeText(getApplicationContext(), "警告:注册账号不能为空", Toast.LENGTH_LONG).show();
showCustomerToast(android.R.drawable.ic_delete, "警告:注册账号不能为空");
return false;
}
if (this.txtRegPassword.getText().toString() == null || this.txtRegPassword.getText().toString().length() == 0) {
//Toast.makeText(getApplicationContext(), "警告:注册密码不能为空", Toast.LENGTH_LONG).show();
showCustomerToast(android.R.drawable.ic_delete,"警告:注册密码不能为空");
return false;
}
if (!(this.txtRegPassword.getText().toString()).equals((this.txtReRegPassword.getText().toString()))) {
//Toast.makeText(getApplicationContext(), "警告:两次密码不一致", Toast.LENGTH_LONG).show();
showCustomerToast(android.R.drawable.ic_delete,"警告:两次密码不一致");
return false;
}
return true;
}
......
}

运行:

提示框的优化之自定义Toast组件之(三)Toast组件优化的更多相关文章

  1. Android消息提示框Toast

    Android消息提示框Toast Toast是Android中一种简易的消息提示框.和Dialog不一样的是,Toast是没有焦点的,toast提示框不能被用户点击,而且Toast显示的时间有限,t ...

  2. 使提示框居中显示&自定义提示框

    ToastActivity.java文件: 1 public class ToastActivity extends AppCompatActivity { 2 private Button mbtn ...

  3. uni-app开发经验分享六:页面跳转及提示框

    在我们开发的uni-app的过程中,页面跳转及提示框往往是我们做数据交互及结果反馈所要使用的功能,这里分享下我收集的一些方法及看法. 一:页面跳转 事件跳转 :指通过tap等事件来实现页面的跳转,跳转 ...

  4. toastr操作完成提示框

    toastr.js组件 关于信息提示框,项目中使用的是toastr.js这个组件,这个组件最大的好处就是异步.无阻塞,提示后可设置消失时间,并且可以将消息提示放到界面的各个地方. 官方文档以及源码 源 ...

  5. 【转】js弹出框、对话框、提示框、弹窗总结

    js弹出框.对话框.提示框.弹窗总结 一.js的三种最常见的对话框 //====================== JS最常用三种弹出对话框 ======================== //弹 ...

  6. js js弹出框、对话框、提示框、弹窗总结

    js弹出框.对话框.提示框.弹窗总结 一.JS的三种最常见的对话框 //====================== JS最常用三种弹出对话框 ======================== //弹 ...

  7. 提示框的优化之自定义Toast组件之(二)Toast组件的业务逻辑实现

    在java下org.socrates.mydiary.activity下LoginActivity下自定义一个方法showCustomerToast()  public class LoginAct ...

  8. vue2.0 自定义 提示框(Toast)组件

    1.自定义 提示框 组件 src / components / Toast / index.js /** * 自定义 提示框( Toast )组件 */ var Toast = {}; var sho ...

  9. vue 自定义 提示框(Toast)组件

    1.自定义 提示框 组件 src / components / Toast / index.js /** * 自定义 提示框( Toast )组件 */ var Toast = {}; var sho ...

  10. Android开发 ---构建对话框Builder对象,消息提示框、列表对话框、单选提示框、多选提示框、日期/时间对话框、进度条对话框、自定义对话框、投影

    效果图: 1.activity_main.xml 描述: a.定义了一个消息提示框按钮 点击按钮弹出消息 b.定义了一个选择城市的输入框 点击按钮选择城市 c.定义了一个单选提示框按钮 点击按钮选择某 ...

随机推荐

  1. OkHttp 上手

    OkHttp 上手 优点 快.节省带宽. 支持 HTTP/2 和 SPDY. HTTP/2 和 SPDY 允许对同一个主机的所有请求,使用一个 socket. 如果不支持 SPDY 的话,可以用连接池 ...

  2. 试用Let's encrypt

    终于等到 https://letsencrypt.org beta了,马上下载试用,发现过程超简单. 1.首先需要下载letsencrypt的客户端,官方给的介绍是 The Let’s Encrypt ...

  3. Nginx Configure时配置

    Configure Arguments Configure arguments common for nginx binaries from pre-built packages for stable ...

  4. kafka的一些常用命令

    启动zookeeper bin/zookeeper-server-start.sh config/zookeeper.properties & 启动kafka bin/kafka-server ...

  5. tomcat免安装版注册为系统服务

    环境: OS:windows7_64bit JDK:jdk1.6_64bit tomcat:apache-tomcat-7.0.61-windows-x64 1.修改tomcat/bin/servic ...

  6. 浅谈Block传值-匿名函数(代码块)

    block传值是从后往前传值---代理也是 // 使用block时, 不能访问self, 也不能直接访问属性, self.属性, 用self调用方法; 只要这样做了, block都会对其强引用一份, ...

  7. bower解决js库的依赖管理

    从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎.chrome浏 ...

  8. javascript中遍历EL表达式List集合中的值

    http://www.cnblogs.com/limeiky/p/6002900.html

  9. Android原理View、ViewGroup

    Android的UI界面都是由View和ViewGroup及其派生类组合而成的.其中,View是所有UI组件的基类,而ViewGroup是容纳这些组件的容器,其本身也是从View派生出来的.Andro ...

  10. SendMessage参数

    http://download.csdn.net/download/wshjldaxiong/4830242