Yu9922 2013-05-22 01:20 采纳率: 100%
浏览 3485
已采纳

TextView 文字水平滚动怎么不动

按照网上的一模一样写的
xml文件:

android:id="@+id/showSongName"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="0.06"
            android:textColor="#000000"
            android:textSize="16sp"
            android:focusable="true"
            android:ellipsize="marquee"
            android:singleLine="true"
            android:marqueeRepeatLimit="marquee_forever"
            android:focusableInTouchMode="true"
            android:scrollHorizontally="true"

java
public class Marquee_TextView extends TextView{


    public Marquee_TextView(Context context) {
        super(context);

    }

    public Marquee_TextView(Context context, AttributeSet attrs) {
        super(context, attrs);

    }

    public Marquee_TextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);

    }
    @Override
    public boolean isFocused() {
        return true;
    }

}

哪里错了吗??怎么文字没动呢?郁闷,求解答啊

  • 写回答

2条回答

  • Yu9922 2013-05-22 01:35
    关注

    后来又出现了问题,界面的一个按钮事件是打开一个小的界面,然后问题就来了,按钮事件响应后,文字又不滚动了,这时,就在Marquee_TextView 中重写方法onFocusChanged和onWindowFocusChanged,添加的代码如下:
    @Override
    protected void onFocusChanged(boolean focused, int direction,
    Rect previouslyFocusedRect) {
    if(focused)
    {
    super.onFocusChanged(focused, direction, previouslyFocusedRect);
    }
    }

    @Override
    public void onWindowFocusChanged(boolean hasWindowFocus) {
        if(hasWindowFocus)
            super.onWindowFocusChanged(hasWindowFocus);
    }
    

    这样就不用textview获取焦点时才能够文字滚动了,可以一直滚动
    我自己找到原因了,原来是textview的宽度要设置一定的值,要不然字数比宽度少,是没有效果的,所以weight不能用,并且把width设置称100dip就可以了,给后面的人一个参考哦

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题