Android 更改 Toast 的默认位置方法

发布时间 - 2026-01-11 00:42:28    点击率:

Android中Toast的默认位置在屏幕靠近底部的位置,这个默认位置有时候并不合适。比如页面上内容较少时,内容一般集中在屏幕上半部分,用户的注意力也集中在屏幕上半部分,默认位置的Toast用户可能没有注意到。还有可能是默认位置的Toast被用户的手挡住了。实践中感觉将Toast显示在屏幕的中部或中上部会比较好。如何修改Toast的默认位置呢?下面做一个简单的例子来演示一下。

先上截图:

布局文件activity_toast.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical" >

  <Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:onClick="onClickDefaultToast"
    android:text="点击显示默认位置的Toast" />

  <Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:onClick="onClickCenterToast"
    android:text="点击显示居中位置的Toast" />


  <Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:onClick="onClickTopToast"
    android:text="点击显示居中上部位置的Toast" />

</LinearLayout>

后台ToastActivity.java代码如下:

package chengyujia.demo.aty;

import android.os.Bundle;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
import android.widget.Toast;
import chengyujia.demo.R;

public class ToastActivity extends BaseActivity {

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

  public void onClickDefaultToast(View v) {
    Toast.makeText(this, "默认位置的Toast", Toast.LENGTH_LONG).show();
  }

  public void onClickCenterToast(View v) {
    Toast toast = Toast.makeText(this, "居中位置的Toast", Toast.LENGTH_LONG);
    toast.setGravity(Gravity.CENTER, 0, 0);
    toast.show();
  }

  public void onClickTopToast(View v) {
    Display display = getWindowManager().getDefaultDisplay();
    // 获取屏幕高度
    int height = display.getHeight();
    Toast toast = Toast.makeText(this, "居中上部位置的Toast", Toast.LENGTH_LONG);
    // 这里给了一个1/4屏幕高度的y轴偏移量
    toast.setGravity(Gravity.TOP, 0, height / 4);
    toast.show();
  }
}

以上这篇Android 更改 Toast 的默认位置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# android  # toast  # 位置  # 超简单实现Android自定义Toast示例(附源码)  # Android 5.0以上Toast不显示的解决方法  # Android Service中使用Toast无法正常显示问题的解决方法  # Android AndBase框架内部封装实现进度框、Toast框、弹出框、确认框(二)  # Android实现Toast提示框图文并存的方法  # Android编程经典代码集锦(复制  # 粘贴  # 浏览器调用  # Toast显示  # 自定义Dialog等)  # Android Toast提示封装实例代码  # 给大家  # 住了  # 少时  # 给了  # 希望能  # 较好  # 注意到  # 做一个  # 这篇  # 会比  # 小编  # 大家多多  # 偏移量  # 实践中  # xmlns  # http  # schemas  # LinearLayout  # encoding 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 大连 网站制作,大连天途有线官网?  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  Laravel怎么判断请求类型_Laravel Request isMethod用法  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  大同网页,大同瑞慈医院官网?  进行网站优化必须要坚持的四大原则  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  北京的网站制作公司有哪些,哪个视频网站最好?  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  香港服务器WordPress建站指南:SEO优化与高效部署策略  高防服务器如何保障网站安全无虞?  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  昵图网官方站入口 昵图网素材图库官网入口  JS去除重复并统计数量的实现方法  焦点电影公司作品,电影焦点结局是什么?  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  Android仿QQ列表左滑删除操作  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  再谈Python中的字符串与字符编码(推荐)  Python自动化办公教程_ExcelWordPDF批量处理案例  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  如何登录建站主机?访问步骤全解析  如何构建满足综合性能需求的优质建站方案?  如何制作一个表白网站视频,关于勇敢表白的小标题?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  实例解析Array和String方法  WordPress 子目录安装中正确处理脚本路径的完整指南  C++时间戳转换成日期时间的步骤和示例代码  python中快速进行多个字符替换的方法小结  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  济南网站建设制作公司,室内设计网站一般都有哪些功能?  重庆市网站制作公司,重庆招聘网站哪个好?  专业商城网站制作公司有哪些,pi商城官网是哪个?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  图册素材网站设计制作软件,图册的导出方式有几种?  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  Python文件流缓冲机制_IO性能解析【教程】  Laravel如何发送系统通知?(Notification渠道示例)  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  北京企业网站设计制作公司,北京铁路集团官方网站?  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法