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的几种常见用法

    (如需转载学习,请标明出处)
  • 相关阅读:
    leetcode 29-> Divide Two Integers without using multiplication, division and mod operator
    ros topic 发布一次可能会接收不到数据
    python中的print()、str()和repr()的区别
    python 部分函数
    uiautomatorviewer错误 unable toconnect to adb
    pyqt 不规则形状窗口显示
    appium 计算器demo
    Spring 3.0 注解注入详解
    Spring Autowire自动装配
    restful 学习地址
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/9114545.html
Copyright © 2011-2022 走看看