繁体   English   中英

RSS提要到一行水平自动滚动textview

[英]RSS Feed to one line horizontaly autoscroll textview

在我的项目中,我使用该库https://github.com/matshofman/Android-RSS-Reader-Library获取rss feed并解析为字符串,这是我的textview xml

<TextView
        android:id="@+id/rssFeedAutoScrollText"
        android:layout_width="match_parent"
        android:layout_height="60px"
        android:layout_alignParentBottom="true"
        android:ellipsize="none"
        android:lines="1"
        android:maxLength="1000000"
        android:maxLines="1"
        android:textAppearance="?android:attr/textAppearanceLarge" />

这是翻译动画

scrollingTextView = (TextView) findViewById(R.id.rssFeedAutoScrollText);
        String feed = "";
        try {
            feed = feedTask.get();
        } catch (InterruptedException e) {
        } catch (ExecutionException e) {
        }

        Log.d("feed", feed);
        String rss = feed.replaceAll(
                "\\r\\n|\\r|\\n", "");
        scrollingTextView.setText(rss);

        DisplayMetrics dm = getResources().getDisplayMetrics();

        TranslateAnimation m_ta = new TranslateAnimation(dm.widthPixels, -1
                * (dm.widthPixels), 0f, 0f);
        m_ta.setDuration(20000);
        m_ta.setInterpolator(new LinearInterpolator());
        m_ta.setRepeatCount(Animation.INFINITE);

        scrollingTextView.startAnimation(m_ta);

但是当我编译我的项目textview时,不显示提要字符串的所有符号。 我怎么了

问题是您的动画仅按设备的宽度(dm.widthPixels)而不是RSS feed字符串的实际宽度转换TextView。

例如,如果您的屏幕为600像素宽,并且RSS提要字符串显示的像素超过600像素,则您将无法看到RSS提要的结尾。

尝试使用以下TextView属性:

android:ellipsize="marquee"
android:marqueeRepeatLimit="-1"
android:singleLine="true"
android:scrollHorizontally="true"

编辑:没有TranslateAnimation,TextView具有内置的文本滚动。

TextView已替换为TextSwitcher

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM