最近由于旋转门问题的一个客户找我,当在字符25更多的时候是不是走了,后来,我在重现的问题,发现问题如下面:

问题1.人物25几个月之内可以去。

问题2.在人物25个月,虽然比屏幕宽度,不去

问题3.屏幕宽度能够走的。

查看各种资料。发现例如以下原因导致。但无法解释问题1.

显示跑马灯效果的前提条件就是你的文本内容要比显示文本的外部组件长,即外部组件无法完整的显示内部的文本内容。

因此要实现跑马灯效果有两种设置方式:

1、layout_width=”"设置为成比文本内容短的固定值。最好不要写成wrap_content或者fill_parent。

2、假设layout_width=”"设置wrap_content或者fill_parent,那么能够添加上 android:paddingLeft="15dip",android:paddingRight="15dip"使两端的距离加大而无法所有显示文本内容。可是这有一个缺陷就是在手机的屏幕变大时。距离没有变大,外部组件又能够正常显示内部文本。于是又无法显示跑马灯效果,因此建议第一种设置为佳。

修正代码例如以下:

if(wm !=null && mMainPanel != null){
     try {
      wm.removeView(mMainPanel);
      wm = null;
      mMainPanel = null;
     } catch (Exception e) {
      e.printStackTrace();
     }
    }
    wm = (WindowManager)context.getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
    WindowManager.LayoutParams params = new WindowManager.LayoutParams();
    //设置窗体布局居于全部之上
                params.type = WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY;
                //使窗体失去焦点
                params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
                //背景透明
                params.format = PixelFormat.RGBA_8888;
                params.alpha =  0.7f;//透明度
              
                params.width = WindowManager.LayoutParams.WRAP_CONTENT;
                params.height = WindowManager.LayoutParams.WRAP_CONTENT;
               
                params.x = 0;
                params.gravity = Gravity.TOP | Gravity.FILL_HORIZONTAL;
               
    isNeedShow = true;
    mMainPanel = (LinearLayout) inflater.inflate(R.layout.notify_message_bottom, null);
    mLinearLayout = (LinearLayout)mMainPanel.findViewById(R.id.no_button_layout);
    mLinearLayout.setOnClickListener(new OnClickListener() {
     @Override
     public void onClick(View v) {
      cancelDialog();
     }
    });
    titleText = (TextView) mMainPanel.findViewById(R.id.bottem_text);
    DisplayMetrics dm = new DisplayMetrics();
    dm = context.getResources().getDisplayMetrics();
//    titleText.setWidth(dm.widthPixels);
    titleText.setMarqueeRepeatLimit(-1);
    //次数减一才是真正的次数
    Log.d(TAG, "scrollCount: "+(scrollCount-1));
//    titleText.setMarqueeRepeatLimit(scrollCount-1);
    
    String content = mArgs.getTitle()+":"+mArgs.getContent();
    TextPaint paint = titleText.getPaint();
    float len = paint.measureText(content);
    //1280
    Log.d(TAG, "len: "+len+" ,dm.widthPixels: "+dm.widthPixels);
    for (int i = 0; (len < dm.widthPixels); i++) {
     len = paint.measureText(content);
     content = content + " ";
    }
    //tcl对接加入了这个。设置长度必须短于文本,否则不滚动。

1288
    Log.d(TAG, "content: "+content);
    Log.d(TAG, "new content: "+paint.measureText(content));
    titleText.setWidth((int)paint.measureText(content)-50);
    titleText.setText(content);
//    titleText.setMovementMethod(ScrollingMovementMethod.getInstance());
    wm.addView(mMainPanel, params);//加入到系统窗体中

版权声明:本文博主原创文章。博客,未经同意不得转载。

左右TextView旋转门问题相关推荐

  1. ArrayAdapter requires the resource ID to be a TextView

    这个是使用ListView 的ArrayAdapter 加载自定义布局的时候跟布局没有使用TextView 引起的,处理方法就是跟布局换成TextView 如下 <?xml version=&q ...

  2. Spinner 使用的使用 报错:ArrayAdapter requires the resource ID to be a TextView

    Spinner 使用的使用 报错:ArrayAdapter requires the resource ID to be a TextView 的问题 是修改layout的最外成不是使用TextVie ...

  3. Android Textview 实现版权符号© 的 实现

    版权 @ 这个实现其实很简单就是在TextView 里面 添加  \u00a9 即可 具体效果如下 <TextViewandroid:id="@+id/btn"android ...

  4. Android TextView 去除顶部和底部留白(上下的间距有空白问题处理)

    有时候我们完全按照ui 布局写的代码 看到的效果却和ui的效果有一定的差距 有没有很苦恼的效果,最近帮同事改bug 发现了这个问题,很多地方都是他私自调节的 这个问题不可有啊,还是要按照ui的尺寸来, ...

  5. Android 替换TextView 里面指定的符号

    有时候接口返回的标签类型如下 热血,爱情,经典 中间是,但是ui交互图是 热血/爱情/经典 这个时候我们替换一下就行了,没有必要要求别人去该 使用方法为replace 也是简单的一行代码就可以实现效果 ...

  6. Android TextView设置透明度方法的注意点

    TextView 设置字体透明度 一般自己都是在颜色值前面添加多少透明度即可, 不如设置字体颜色的透明度为50% android:textColor="#50D81B60" 这里 ...

  7. Android TextView 在strings 里面 实现换行

    在TextView 把text 使用快捷键放到strings 里面 \n是无法被放到里面的 如果想实现换行 可以手动在里面添加 \n 例如写了一个小例子, 如果你写了多语言适配 ,那么在你的其他的st ...

  8. databinding 入门 知识 给TextView 赋值

    在上一张中记录怎样创建布局的 这里就不说了下面写2个textview 具体代码如下 <?xml version="1.0" encoding="utf-8" ...

  9. Android TextView 中间添加划线与 底部添加划线

    效果图 实现代码 private TextView txt;private TextView textview;@Overrideprotected void onCreate(@Nullable B ...

最新文章

  1. 3分钟学会Mysql查询之表连接,左连接,右连接,内连接…
  2. rhel6上使用udev配置oracle asm,Red Hat Enterprise Linux 6使用udev配置Oracle ASM总结文档
  3. Android学习笔记系列四2 —— Activity的生命周期
  4. Java串口包Javax.comm的安装
  5. 已知传递函数,求幅频响应?
  6. 通过vue-cli3构建一个SSR应用程序
  7. Spring Boot 网易云课堂视频
  8. 学妹跑过来问我为啥Xshell 打不开了,让我帮她处理下【手把手讲解】
  9. zabbix如何自定义一个监控项对web网站进行存活监控和报警?
  10. excel每行按模板导出为一个excel文件,可以指定列文本生成二维码或者条形码
  11. IDB数据桥提供方用oracle,WinCC与第三方系统数据交互IndustrialDataBridge(54页)-原创力文档...
  12. 从0开始学习开发微信小程序(熟悉微信开发者工具页面,简单修改、添加一些内容)
  13. 【Unity 优化篇】 | 优化专栏《导航帖》,全面学习Unity优化技巧,让我们的Unity技术上升一个档次
  14. Win10 配置Java JDK 16 环境变量
  15. 抖音爆款小游戏《我飞刀玩得贼6》性能优化案例分享
  16. 斯凯奇熊猫鞋怎样清洗
  17. 微服务架构下的服务调用与鉴权——某保险公司微服务平台实施案例分享
  18. 那是你的计算机怎么用英语表示,“I potato you”可不是“我土豆你”,那这个potato到底啥意思?...
  19. electron+vue3全家桶+vite项目搭建【八】集成mockjs模拟数据
  20. eclipse安装插件配置Android开发环境

热门文章

  1. matlab单边衰减正弦信号,指数衰减正弦信号
  2. redis3.0 java spring_spring整合redis以及使用RedisTemplate的方法
  3. 使用jackson转换类型时报Unrecognized field
  4. Centos7.x/redhat7.x修改网卡名称
  5. BZOJ1146 [CTSC2008]网络管理Network 树链剖分 主席树 树状数组
  6. 在线判题系统hustoj的搭建
  7. 9、linux内存管理子系统
  8. 《Two Dozen Short Lessons in Haskell》学习(十六)- Definitions with Alternatives
  9. function checkBrowser()//判断浏览器
  10. step5 . day3 网络编程 基于TPC协议的网络编程Demo,类FTP功能