2

我正在使用Canvas.drawTextwhich 没有任何参数。我在画布中绘制文本的宽度有限,所以有什么想法可以让它滚动吗?

谢谢。

4

2 回答 2

1

得到解决方案,我计算编辑文本宽度并测量文本。如果文本太宽,则启动可运行循环来调整 drawText 参数中使用的偏移 x 值。

于 2012-08-30T09:45:53.480 回答
-1

这是一个例子:

public class TextViewMarquee extends Activity {
    private TextView tv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tv = (TextView) this.findViewById(R.id.tv);  
        tv.setSelected(true);  // Set focus to the textview
    }
}

带有文本视图的 xml 文件:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView
        android:id="@+id/mywidget"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:lines="1"
        android:ellipsize="marquee"
        android:fadingEdge="horizontal"
        android:marqueeRepeatLimit="marquee_forever"
        android:scrollHorizontally="true"
        android:textColor="#ff4500"
        android:text="Simple application that shows how to use marquee, with a long text" />
</RelativeLayout>

注意- 这仅在提供 android:singleLine="true" 时才有效。在 Android 中引用 选取框文本

于 2012-08-29T13:39:27.200 回答