【问题标题】:Marquee scrolling inside a table cell在表格单元格内滚动选取框
【发布时间】:2017-11-26 15:45:13
【问题描述】:

我正在尝试创建一个表格,其中第一列是不滚动的“主题”,第二列是使用选取框格式滚动的文本。在下面的示例中,主题:“Astrology”不会滚动,但第 2 列中的文本应该滚动。 我正在使用表格,因为我想让主题和滚动文本在同一行。当我运行它时,第 2 列中的文本不会滚动。但是,如果我从 activity_main.xml 中删除 标记,选框文本会滚动,但它不在同一行。

是否可以滚动表格行的 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>

主活动:

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);
    }

【问题讨论】:

    标签: android scroll marquee


    【解决方案1】:

    我能够使用 Ramakrishna 的 ScrollTextView 解决方案来实现此功能,该解决方案可让您更改滚动速度。这是那个链接: Marquee Set Speed我把第二列TextView换成了ScrollTextView,如下图。

    <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>
    

    【讨论】:

      猜你喜欢
      • 2011-05-30
      • 1970-01-01
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 2014-10-19
      • 2018-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多