跑马灯效果最重要的就是四个属性,分别是:

android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:singleLine="true"

控件的宽度,不一定是具体的值,可以是math_parent,如果想让textview中的文字滚动的话,那里面内容的长度肯定是要大于控件的长度的,不然滚动还有啥意思..

不过这样写的话,虽然很简单.但是有一个问题.就是只有在控件获得到焦点的时候才可以滚动.如果我们在textview控件的下方,添加一个edittext,直接就回看到用这四个属性修饰的.刚刚那个还可以滚动的textview现在竟然一动不动了.这个时候我们就要来对textview进行自定义了


package com.example.testscrotextview;import android.content.Context;import android.graphics.Rect;import android.util.AttributeSet;import android.widget.TextView;public class MyScrollTextView extends TextView {public MyScrollTextView(Context context, AttributeSet attrs) {super(context, attrs);}public MyScrollTextView(Context context) {super(context);}@Overridepublic boolean isFocused() {return true;//直接让他一直是获得焦点状态}@Overridepublic void onWindowFocusChanged(boolean hasWindowFocus) {if(hasWindowFocus)//获得焦点的时候,才执行一些操作super.onWindowFocusChanged(hasWindowFocus);}@Overrideprotected void onFocusChanged(boolean focused, int direction,Rect previouslyFocusedRect) {if(focused)//获得焦点的时候,才执行一些操作super.onFocusChanged(focused, direction, previouslyFocusedRect);}}



这个时候可以看到,只用四个修饰符修饰的textview一直不动,但是我们自定义的textview依然可以动,但是现在有一个尴尬,,就是当我们点击edittext或者让软键盘消失的话,我们自定义的textview就会重新开始滚动了..这点很尴尬...先留在这里吧..以后请教请教大神再..

更多相关文章

  1. android控件之ImageButton android:scaleType
  2. Android布局LinearLayout子控件无法填充问题
  3. 如果Imageview与Linearlayout有叠加且可选资源长度不同,如何布局?
  4. 关于GridView控件中设置大小的问题
  5. Android强制让某个控件获得焦点
  6. editText设置最大长度
  7. android 中的日历控件
  8. android EditText 去掉焦点
  9. android创建自定义控件

随机推荐

  1. Google 正在悄悄解决 Android 的碎片化
  2. Android应用程序的开发
  3. Android(安卓)Studio Wear Demo
  4. Android(安卓)入门第四讲04-小结-Recycle
  5. Android小项目之十二 设置中心的界面
  6. Android(安卓)Activity(活动)
  7. Google:所有含 Android Market 的 Android
  8. Android SDK 2.3与Eclipse最新版开发环境
  9. android 使用handler更新ui,使用与原理分
  10. 看网易和腾讯如何用一套 H5 通杀Android