zoukankan      html  css  js  c++  java
  • Android_(消息提示)多种使用Toast的消息提示

    Toast是一种提供给用户简介信息的视图,可以创建和显示消息,该视图以浮于应用程序之上的形式呈现给用户。因为它并不获得焦点,即使用户正在输入什么也不会受到影响

    Toast目标是尽可能以不显眼的方式,使用户看到提示的信息。

    运行截图:

    程序结构

    package com.example.asus.gary_74;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.Gravity;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ImageView;
    import android.widget.LinearLayout;
    import android.widget.Toast;
    
    public class MainActivity extends AppCompatActivity {
    
        private Button bt1,bt2,bt3,bt4;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            bt1=(Button)findViewById(R.id.button);
            bt1.setOnClickListener(new Button.OnClickListener()
            {
    
                @Override
                public void onClick(View v) {
                    //Toast.LENGTH_SHORT 大约2秒
                    //Toast.LENGTH_LONG  大约3.5秒
                    Toast toast = Toast.makeText(MainActivity.this,"默认的Toast",Toast.LENGTH_LONG);
                    toast.show();
                }
            });
    
            bt2=(Button)findViewById(R.id.button2);
            bt2.setOnClickListener(new Button.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Toast toast=Toast.makeText(getApplicationContext(), "自定义显示位置的Toast", Toast.LENGTH_SHORT);
                    //第一个参数:设置toast在屏幕中显示的位置。我现在的设置是居中靠顶
                    //第二个参数:相对于第一个参数设置toast位置的横向X轴的偏移量,正数向右偏移,负数向左偏移
                     //第三个参数:同的第二个参数道理一样
                     //如果你设置的偏移量超过了屏幕的范围,toast将在屏幕内靠近超出的那个边界显示
                     toast.setGravity(Gravity.TOP|Gravity.CENTER, -50, 100);
                     //屏幕居中显示,X轴和Y轴偏移量都是0
                    //toast.setGravity(Gravity.CENTER, 0, 0);
                    toast.show();
                }
            });
    
            bt3=(Button)findViewById(R.id.button3);
            bt3.setOnClickListener(new Button.OnClickListener(){
    
                @Override
                public void onClick(View v) {
                    Toast toast=Toast.makeText(getApplicationContext(), "显示带图片的toast",Toast.LENGTH_LONG);
                     toast.setGravity(Gravity.CENTER, 0, 0);
                     //创建图片视图对象
                     ImageView imageView= new ImageView(getApplicationContext());
                     //设置图片
                     imageView.setImageResource(android.R.drawable.ic_input_add);
                     //获得toast的布局
                     LinearLayout toastView = (LinearLayout) toast.getView();
                     //设置此布局为横向的
                     toastView.setOrientation(LinearLayout.HORIZONTAL);
                     //将ImageView在加入到此布局中的第一个位置
                     toastView.addView(imageView, 0);
                     toast.show();
                }
            });
    
        }
    }
    MainActivity
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="com.example.asus.gary_74.MainActivity">
    
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Gary_Toast!"
            android:textSize="40px" />
    
        <Button
            android:id="@+id/button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="默认显示" />
    
    
        <Button
            android:id="@+id/button2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="自定义位置显示" />
    
        <Button
            android:id="@+id/button3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="带图片显示" />
    
    </LinearLayout>
    activity_main.xml

    一、界面布局

      三个Button,分别显示不同的Toast提示效果

    二、实现程序功能

    1、显示默认的Toast消息

    Toast makeText(Context context,int resId,int duration)

       context:使用的上下文,通常是Activity对象

    resId:要使用的字符串资源ID

    duration:该消息的在屏幕上停留的时间。值为LENGTH_SHORT或者LENGTH_LONG
      bt1=(Button)findViewById(R.id.button);
            bt1.setOnClickListener(new Button.OnClickListener()
            {
    
                @Override
                public void onClick(View v) {
                    //Toast.LENGTH_SHORT 大约2秒
                    //Toast.LENGTH_LONG  大约3.5秒
                    Toast toast = Toast.makeText(MainActivity.this,"默认的Toast",Toast.LENGTH_LONG);
                    toast.show();
                }
            });

    2、自定义位置显示Toast消息

    void setDuration(int gravity,int xOffset,int yOfset)
    设置提示消息在屏幕上显示的位置
            bt2=(Button)findViewById(R.id.button2);
            bt2.setOnClickListener(new Button.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Toast toast=Toast.makeText(getApplicationContext(), "自定义显示位置的Toast", Toast.LENGTH_SHORT);
                    //第一个参数:设置toast在屏幕中显示的位置。我现在的设置是居中靠顶
                    //第二个参数:相对于第一个参数设置toast位置的横向X轴的偏移量,正数向右偏移,负数向左偏移
                     //第三个参数:同的第二个参数道理一样
                     //如果你设置的偏移量超过了屏幕的范围,toast将在屏幕内靠近超出的那个边界显示
                     toast.setGravity(Gravity.TOP|Gravity.CENTER, -50, 100);
                     //屏幕居中显示,X轴和Y轴偏移量都是0
                    //toast.setGravity(Gravity.CENTER, 0, 0);
                    toast.show();
                }
            });

    3、显示带图片的Toast消息

    bt3=(Button)findViewById(R.id.button3);
            bt3.setOnClickListener(new Button.OnClickListener(){
    
                @Override
                public void onClick(View v) {
                    Toast toast=Toast.makeText(getApplicationContext(), "显示带图片的toast",Toast.LENGTH_LONG);
                     toast.setGravity(Gravity.CENTER, 0, 0);
                     //创建图片视图对象
                     ImageView imageView= new ImageView(getApplicationContext());
                     //设置图片
                     imageView.setImageResource(android.R.drawable.ic_input_add);
                     //获得toast的布局
                     LinearLayout toastView = (LinearLayout) toast.getView();
                     //设置此布局为横向的
                     toastView.setOrientation(LinearLayout.HORIZONTAL);
                     //将ImageView在加入到此布局中的第一个位置
                     toastView.addView(imageView, 0);
                     toast.show();
                }
            });

    传送门:消息模式Toast.make Text的几种常见用法

    (如需转载学习,请标明出处)
  • 相关阅读:
    2020阿里最新出品的泰山版Java开发手册,告别垃圾代码
    freecplus框架-目录操作
    freecplus框架简介
    freecplus框架-加载参数文件
    freecplus框架-xml解析
    freecplus框架-tcp网络通信
    freecplus框架-PostgreSQL数据库操作
    freecplus框架-Oracle数据库操作
    freecplus框架-MySQL数据库操作
    freecplus框架-ftp客户端
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/9114545.html
Copyright © 2011-2022 走看看