首页 > 其他分享 >Android Toast弹出消息在指定位置(setGravity)

Android Toast弹出消息在指定位置(setGravity)

时间:2024-05-27 18:23:22浏览次数:24  
标签:Toast setGravity show toast Gravity LENGTH Android

import android.widget.Toast
import android.view.Gravity

默认Toast是显示在底部的,可以通过以下方法让其显示在顶部正中

Toast toast = Toast.makeText(SearchActivity.this, "取消关注失败", Toast.LENGTH_SHORT);

toast.setGravity(Gravity.CENTER, 0, 0); toast.show();

这样设置会使Toast在中间弹出

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }

  public void upperLeft(View v) {
    Toast toast = Toast.makeText(this, "Upper Left!",
        Toast.LENGTH_SHORT);
    toast.setGravity(Gravity.TOP | Gravity.LEFT, 0, 0);
    toast.show();
  }

  public void upperRight(View v) {
    Toast toast = Toast.makeText(this, "Upper Right!",
        Toast.LENGTH_SHORT);
    toast.setGravity(Gravity.TOP | Gravity.RIGHT, 0, 0);
    toast.show();
  }

  public void bottomLeft(View v) {
    Toast toast = Toast.makeText(this, "Bottom Left!",
        Toast.LENGTH_SHORT);

    toast.setGravity(Gravity.BOTTOM | Gravity.LEFT, 0, 0);
    toast.show();
  }

  public void bottomRight(View v) {
    Toast toast = Toast.makeText(this, "Bottom Right!",
        Toast.LENGTH_SHORT);
    toast.setGravity(Gravity.BOTTOM | Gravity.RIGHT, 0, 0);
    toast.show();
  }

默认Toast是显示在底部的,可以通过以下方法让其显示在顶部正中

Toast mToast = Toast.makeText(
this,
R.string.correct_toast,
Toast.LENGTH_SHORT
)
mToast.setGravity(Gravity.TOP,0,0)
mToast.show()


#顶部,水平居中
Toast toast= Toast.makeText(getApplicationContext(),
"Your string here", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP|Gravity.CENTER_HORIZONTAL, 0, 0);
toast.show();

 

通过以下方法让其显示在右上角:
private int getScreenWidth() {
DisplayMetrics outMetrics = new DisplayMetrics();
windowManager.defaultDisplay.getMetrics(outMetrics);
Log.i("width", outMetrics.toString());
return outMetrics.widthPixels;
}

mToast.setGravity(Gravity.TOP, getScreenWidth()/2, 0);


#底部 右边
Toast toast = Toast.makeText(this, "Custom toast creation", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.BOTTOM | Gravity.RIGHT,0,0);
toast.show();

 

refs:https://blog.csdn.net/xuanshao_/article/details/106502177


标签:Toast,setGravity,show,toast,Gravity,LENGTH,Android
From: https://www.cnblogs.com/bluestorm/p/18216182

相关文章

  • android studio 实现web网站变成app小程序
    MainActivity.javapackagecom.example.myapplication;importandroid.os.Bundle;importandroid.webkit.WebView;importandroid.webkit.WebViewClient;importandroidx.appcompat.app.AppCompatActivity;publicclassMainActivityextendsAppCompatActivity{......
  • Android 深入系统源码探讨 Activity、Window 和 View 的关系与实践
    文章目录1、概括2、AndroidWindow设计2.1、Window类2.2、PhoneWindow2.3、WindowManager2.4、ViewRootImpl2.5、DecorView3、AndroidActivity设计3.1、Activity的基本概念3.2.、Activity的生命周期3.3、Activity的内部结构4、AndroidView设计4.1、View的基本概......
  • Android Log.isLoggable 控制log打印
    DEBUG方法比较当我们在做APP开发时,需要设置调试开关打印Log,下面我列举出3种方法:方法一:直接赋值publicstaticfinalbooleanDEBUG=true;//false方法二:设置BuildConfig.DEBUG的值publicstaticfinalbooleanDEBUG=BuildConfig.DEBUG;方法三:设置Log.isLoggable的值publics......
  • Android交叉编译
    https://www.jianshu.com/p/b31acea79717https://www.jianshu.com/p/f77554b0caef概念编译环境和运行环境不同(在一个平台(pc)生成另一个平台(Androidios等)的可执行代码)使用到的工具CC编译器对C源文件进行编译处理,生成汇编文件(CCompiler)ls-l/usr/bin/cc AS将......
  • Android热修复简易实现
    https://www.jianshu.com/p/b65e5da3dff2 先了解一下原理和实现方式Java编译为classjavacxxx.java.class打包为jar包jarcvfxxx.jarx/x/x/class#可用.来代替目录意思为当前目录和所有的子目录打包将as编译好的jar包拆开unzipa.jar-doutfilejar-xvfa.jarj......
  • android体系结构的组成
    安卓系统架构主要分为四个层次,从高层到低层依次是:应用程序层:这一层包含了Android系统预装的核心应用程序,如电子邮件客户端、短信程序、日历、地图、浏览器、联系人管理程序等。这些应用程序通常使用Java语言编写。应用程序框架层:这一层为开发者提供了丰富的API......
  • android测试常用的adb命令以及进行Monkey测试
    1,什么是adb:ADB全称为AndroidDebugBridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是用来操作的电脑,服务端是Android设备。ADB也是AndroidSDK中的一个工具,可以直接操作管理Android模拟器或者真实的Android设备。2,为什么要用adb:运行设备的shell(命......
  • Android查看/proc目录下的系统信息
    目录Android查看/proc目录下的系统信息1.获取读取权限2.读取/proc目录信息3.读取特定文件信息4.注意事项1.缓冲功能2.读取方法3.使用示例4.关闭资源Android查看/proc目录下的系统信息在Android系统中,/proc目录是一个特殊的虚拟文件系统,用于向用户空间提供......
  • Android.mk变量解析
    前言Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、需要编译的.c/.cpp文件和.a静态库文件等。要掌握jni,就必须熟练掌握Android.mk的语法规范。LOCAL_PATH:=$(callmy-dir)一个Android.mkfile首先必须定义好LOCAL_PATH变量......
  • Android跨进程通信--Binder机制及AIDL是什么?
    文章目录Binder机制Binder是什么?Binder相对于其他几种跨进程通信方式,有什么区别?谈一下BinderIPC通信过程:具体的通讯过程是什么?Binder如何处理发送请求与接收请求?Binder是通过什么方式来进行内存映射的?Binder是如何进行管理的?Binder、Socket的数据限制是多少?自己APP如......