1. import java.lang.reflect.Field;
  2. import android.content.Context;
  3. import android.util.Log;
  4. import android.view.View;
  5. import android.view.WindowManager;
  6. import android.view.View.OnLongClickListener;
  7. import android.widget.TextView;
  8. import android.widget.Toast;
  9.  
  10. public class ClickToast {
  11.  
  12. public static void showToast(final Context context, int duration) {
  13. Toast mToast = null;
  14. if (mToast == null) {
  15. TextView tv = new TextView(context);
  16. tv.setLongClickable(true);
  17. tv.setOnLongClickListener(new OnLongClickListener() {
  18.  
  19. @Override
  20. public boolean onLongClick(View arg0) {
  21. Log.i("TAG", "ddddddddddddddddd");
  22. return true;
  23. }
  24. });
  25. tv.setText("fffffffffffffffffffffffffffffffffffff");
  26. mToast = Toast.makeText(context.getApplicationContext(), "", duration);
  27. mToast.setView(tv);
  28. }
  29.  
  30. try {
  31. Object mTN;
  32. mTN = getField(mToast, "mTN");
  33. if (mTN != null) {
  34. Object mParams = getField(mTN, "mParams");
  35. if (mParams != null && mParams instanceof WindowManager.LayoutParams) {
  36. WindowManager.LayoutParams params = (WindowManager.LayoutParams) mParams;
  37. // Toast可点击
  38. params.flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
  39.  
  40. // 设置viewgroup宽高
  41. params.width = WindowManager.LayoutParams.MATCH_PARENT; // 设置Toast宽度为屏幕宽度
  42. params.height = WindowManager.LayoutParams.WRAP_CONTENT; // 设置高度
  43. }
  44. }
  45. } catch (Exception e) {
  46. e.printStackTrace();
  47. }
  48.  
  49. mToast.show();
  50. }
  51. //反射获取filed
  52. private static Object getField(Object object, String fieldName) throws NoSuchFieldException, IllegalAccessException {
  53. Field field = object.getClass().getDeclaredField(fieldName);
  54. if (field != null) {
  55. field.setAccessible(true);
  56. return field.get(object);
  57. }
  58. return null;
  59. }
  60.  
  61. }

Toast 响应点击事件的更多相关文章

  1. UIButton无法响应点击事件

    一.问题描述 因为项目需要,需要UITableView上添加固定的筛选表头,一直固定,不能随UITableView滚动.所以直接将表头与UITableView分离,将它添加到控制器的UIView上,即 ...

  2. 设置TextView下划线并响应点击事件(SpannableString)

    下面是一个20行的完整Demo代码:基本原理是使用一个SpannableString并设置其ClickableSpan来响应点击事件. TextView useInfo = (TextView) fi ...

  3. 隐藏自定义的tabbar之后,push到B视图,B视图的键盘工具条无法响应点击事件

    我的情况如下: 在TabbarViewController中隐藏了系统的tabbar,然后自定义tabbar,A B C D 4个视图都有UINavigationController,A视图 使用的是 ...

  4. iOS开发-UIImageView响应点击事件

    UIImageView是不能够响应点击事件的,在开发过程中我们需要经常对头像等添加点击事件,上网搜索一番后发现有如下两个方法: 1.找到点击图片Event,添加事件处理函数 UIImageView.u ...

  5. c# 给button添加不规则的图片以及用pictureBox替代button响应点击事件

    1.Flat button 用这个方法,前提是要把button的type设置为Flat button1.TabStop = false;button1.FlatAppearance.BorderSiz ...

  6. TextView下划线,部分文字并响应点击事件(SpannableString)

    TextView useInfo = (TextView) findViewById(R.id.info); useInfo.setText("开始即表示您同意遵守"); Stri ...

  7. Android EditText中插入图片并响应点击事件

    EditText中插入图片基本就是两种方法: ,通过Html.fromHtml(..)来实现 [mw_shl_code=java,true]eText.append(Html.fromHtml(&qu ...

  8. android开发里跳过的坑——button不响应点击事件

    昨天遇到一个头疼的问题,在手机上按钮事件都很正常,但是在平板上(横屏显示的状态),button点击事件不响应,代码简化如下: public class Test extends Activity im ...

  9. TextView中的部分文字响应点击事件

    TextView是android常用的控件,经常要显示不同文字的大小,颜色,......今天要实现这样这样一个需求,TextView某段内容显示的文字颜色不一样,并且点击区域只能是改变了颜色的字. 1 ...

随机推荐

  1. Spring Boot必备技能之Starter自定义

    本文摘自于<Spring Cloud微服务 入门 实战与进阶>一书.  作者:尹吉欢 Spring Boot的方便体现在简化了很多繁琐的配置,对开发人员来说是一个福音,通过引入各种Spri ...

  2. explain关键字使用解释

    原文: 58沈剑 架构师之路  https://mp.weixin.qq.com/s/oWNrLHwqM-0ObuYbuGj98A <数据库允许空值,往往是悲剧的开始>一文通过explai ...

  3. 关于随机数 C++

    void test() { srand();//这里设置了 说明又得从头开始循环一次了 //如果没有设置 它还是基于main函数里的srand(1) for(int i=;i<;i++) { c ...

  4. PHP基础之排序

    前言 之前简单介绍了流程控制,函数,数组等.有兴趣的可以看看. PHP入门之类型与运算符 PHP入门之流程控制 PHP入门之函数 PHP入门之数组 接下来介绍一下排序,排序是将一组数据,依指定的顺序进 ...

  5. css 命名规则 BEM!

    随着CSS的发展,使用CSS有语义化的命名约定和CSS层的分离,将有助于它的可扩展性,性能的提高和代码的组织管理.著作权归作者所有. BEM本质应该是一个css命名方案,最流行的命名规则之一就是BEM ...

  6. Vue 事件的$event参数=事件的值

    template <el-table :data="dataList"> <el-table-column label="id" prop=& ...

  7. Jdk1.8下的HashMap源码分析

    目录结构 一.面试常见问题 二.基本常量属性 三.构造方法 四.节点结构        4.1 Node类        4.2.TreeNode 五.put方法        5.1 key的has ...

  8. python设计模式之建造者模式

    python设计模式之建造者模式 ​ 建造者模式的适用范围:想要创建一个由多个部分组成的对象,而且它的构成需要一步接一步的完成.只有当各个部分都完成了,这个对象才完整.建造者模式表现为复杂对象的创建与 ...

  9. powerMock和mockito使用

    powerMock和mockito powermock和mockito都是做mock的框架,powermock在mockito的基础上扩展而来,支持mockito的操作(也支持别的mock框架比如ea ...

  10. SSM整合 完美支持RESTful(Jsp和客户端<android ios...>)

    一 RESTful简介 RESTful是一种网络应用程序的设计风格和开发方式 它结构清晰 符合标准 易于理解 扩展方便 REST 即Representational State Transfer的缩写 ...