Android自定义TextView实现跑马灯不起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android自定义TextView实现跑马灯不起作用相关的知识,希望对你有一定的参考价值。
自定义的控件继承TextView,使用下面的属性:
android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:scrollHorizontally="true"
android:marqueeRepeatLimit="marquee_forever"
为什么跑马灯不起作用?多余的文字只显示省略号,我是在写在xml文件中然后在另一个文件中include该文件,所以外面套了很多RelativeLayout.
去掉了,不是这个原因
追答你把整个textview的属性都贴出来吧 包括宽度高度,一般来说宽度最好是定长。当文字超出长度才能出现跑马灯效果。 我这里有一个可以跑
你可以这样 单独写出来试一下 看是不是textview的问题 也许不是哦
这个问题已经解决了,在自定义的TextView控件中重写isFocused()返回true就行,但是遇到新问题就是界面有多个这样的控件显示时当弹出Dialog后这些自定义的TextView控件就会失去焦点,跑马灯效果又变成“...”的形式了,当Dialog消失之后又恢复正常
参考技术B scrollHorizontally这个是实现横向拖动条的属性,可以去掉试试追问去掉了,不是这个原因
参考技术C http://www.cnblogs.com/xiao-xu/p/3210639.html这是以前做的笔记,可以参考一下
android TextView实现跑马灯效果(字体滚动)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.myapplication.MainActivity">
<!--
android:singleLine="true" //文字一行显示
android:ellipsize="marquee" //跑马灯属性
android:focusable="true" //TextView是否可以获取焦点
android:focusableInTouchMode="true" //文字滑动的时候是否可以获取焦点
-->
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="zxcvbnmasdfghjklqwertsssssssssssssssssssssssyuiop"
android:textSize="24sp"
android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"/>
</LinearLayout>
以上是关于Android自定义TextView实现跑马灯不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Android 手机卫士--自定义控件(获取焦点的TextView)
Android 文字自动滚动(跑马灯)效果的两种实现方法[特别好使]