zoukankan      html  css  js  c++  java
  • TextView实现跑马灯效果

    经常使用TextView会出现这样的情况,有限的空间内只能写一行,然后导致好多文字...,如图:

    而且有可能是重要信息被隐藏了,于是就有了跑马灯效果。
    实现方式很简单:
    1、在xml的Text控件内添加如下代码

     android:singleLine="true"
                    android:ellipsize="marquee"
                    android:marqueeRepeatLimit="marquee_forever"
    

    2、在Activity或者Fragment或者Adapter内添加如下代码:

     tvDeviceName.setSelected(true);
    

    以上代码必须否则无法实现效果。
    我引入的代码
    1、xml内的代码:

    <TextView
                    android:id="@+id/tv_device_name"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignTop="@+id/tv_device"
                    android:layout_toEndOf="@+id/tv_device"
                    android:singleLine="true"
                    android:ellipsize="marquee"
                    android:marqueeRepeatLimit="marquee_forever"
                    android:textColor="#666666"
                    android:textSize="16sp"
                    tools:text="设备名称" />
    
    

    2、Activity内代码

    @Override
        public void initData() {
            tvTitleName.setText("设备详情");
    
            if (MainApplication.getInstance().getAreaCurrentType() == 0 && MainApplication.getInstance().getCurrentUserGroupType() == 2) {
                btnPrivateDeviceDelete.setVisibility(View.GONE);
                btnPrivateDeviceMove.setVisibility(View.GONE);
                btnPrivateDeviceSet.setVisibility(View.GONE);
            }
    
            Intent intent = getIntent();
            deviceId = intent.getIntExtra("deviceId", 0);
            sysName = intent.getStringExtra("sysName");
            groupName = intent.getStringExtra("groupName");
            adderess = intent.getStringExtra("address");
            deviceName = intent.getStringExtra("deviceName");
            proId = intent.getIntExtra("proId", 0);
            userId = intent.getIntExtra("userId", 0);
            sysId = intent.getIntExtra("sysId", 0);
            loadData();
            //跑马灯效果必须加
            tvDeviceName.setSelected(true);
        }
    

    实现之后的效果如图:

    原文地址:https://www.jianshu.com/p/71ee5c46ec8c

  • 相关阅读:
    7 Django的模板层
    6 Django的视图层
    5 Django-1的路由层(URLconf)
    qt 如何安装 Debuggers 调试器 ?
    window7 x64 vs2015 如何编译 libqr 二维码生成库?
    如何在 window7 环境编译 zlib 库?
    LNK2026 模块对于 SAFESEH 映像是不安全的
    如何识别二维码?
    qt Multimedia 模块类如何使用?
    qt 使用msvc编译器出现乱码如何解决?字符串中存在空格?
  • 原文地址:https://www.cnblogs.com/wzqnxd/p/10006627.html
Copyright © 2011-2022 走看看