TextView跑马灯的使用简单分析

    xiaoxiao2021-04-15  38

    代码如下:

      

    <TextView android:id="@+id/tv_title" android:gravity="left" android:layout_gravity="center" android:ellipsize="marquee" android:singleLine="true" android:shadowColor="@color/colorAccent" android:shadowRadius="3" android:shadowDx="10" android:background="@color/blue" android:shadowDy="10" android:text="首次做理财软件,特价100" android:marqueeRepeatLimit="marquee_forever" android:textColor="@color/button_red" android:textSize="@dimen/font_size" android:layout_width="120dp" android:maxWidth="200dp" android:layout_height="wrap_content"/>

        发现不设置focusable ,和当文本width小于控件的宽度时.跑马灯时不管用的.看源码把如下:

        要想跑马灯跑起来起码要满足或者不满足以上箭头语句

    1.

    对于不是editText,会是null,所以false 向下执行

    2.这个主要是对文字长度和控件长度比较,如下

         

      是硬件加速直接返回, 文体长度稍大一点点要返回true ,那么跑马灯就没有用

    3.主要是设置setFocusable(true)或者在xml直接设置,当然也可重写isFocused()方法返回true

    4.主要是设置singlines属性,maxlines没有效果.

    5.代码如下:

    主要是判断文体长度是否大于控件长度,是就返回true;

    发现指令能够执行下来,跑马灯也没有用......重写isFocused()是有用,只是代码或者在xml直接设置是没有用的,要使用

    tvTitle.setFocusableInTouchMode(true); tvTitle.requestFocus(); 获得焦点
    转载请注明原文地址: https://ju.6miu.com/read-670778.html

    最新回复(0)