选框滚动表格单元格

时间:2017-11-26 01:30:17

标签: android scroll marquee

我正在尝试创建一个表,其中第1列是不滚动的“主题”,第2列是使用选取框格式滚动的文本。在下面的示例中,主题:“占星术”不会滚动,但第2列中的文本应滚动。 我正在使用一个表,因为我希望主题和滚动文本在同一行。当我运行它时,第2列中的文本不会滚动。但是,如果我删除<“TableRow”>来自activity_main.xml的标签,选框文本滚动但不在同一行。

是否可以滚动表格行的1列中的文本而不是滚动同一行的另一列中的文本?

示例:(第1栏主题:“占星术”不应滚动)

|第1列|第二栏|

占星术:< - 摩羯座:此文字从右向左滚动< -

activity_main.xml中:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@android:color/black"
    android:textColor="#FFFFFFFF"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:stretchColumns="1">

    <TableRow>
        <TextView
            android:layout_column="1"
            android:textColor="#FFFFFFFF"
            android:text="Astrology:"
            android:padding="3dip" />
        <TextView
            android:layout_height="wrap_content"
            android:textColor="#FFFFFFFF"
            android:text="Capricorn: This is a test of the emergency broadc ..."
            android:id="@+id/tvText1"
            android:layout_width="fill_parent"
            android:singleLine="true"
            android:ellipsize="marquee"
            android:marqueeRepeatLimit="marquee_forever"
            android:scrollHorizontally="true"
            android:paddingLeft="15dip"
            android:paddingRight="15dip"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:freezesText="true" />
    </TableRow>

MainActivity:

import android.os.Bundle;
import android.app.Activity;
import android.widget.TextView;

public class MainActivity extends Activity {
    TextView tvText1,tvText2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tvText1 = (TextView)findViewById(R.id.tvText1);
        tvText2 = (TextView)findViewById(R.id.tvText2);

        tvText1.setSelected(true);
        tvText2.setSelected(true);
    }

1 个答案:

答案 0 :(得分:0)

我能够使用Ramakrishna的ScrollTextView解决方案让您更改滚动速度。这里有链接: Marquee Set Speed我用ScrollTextView替换了第二列TextView,如下所示。

<TableRow>
    <TextView
        android:layout_column="1"
        android:textColor="#FFFFFFFF"
        android:text="Astrology:"
        android:padding="3dip" />
    <TextView
    <com.example.jack.tablemarquee.ScrollTextView
        android:layout_height="wrap_content"
        android:textColor="#FFFFFFFF"
        android:text="Capricorn: This is a test of the emergency broadcast system. Had this been an actual emergency..."
        android:id="@+id/scrolltext"
   />
</TableRow>