如果文本太长,则使表行中的第二个文本视图可滚动



我有一个表格布局,比如你好,安卓开发上的表格布局 - 哇,网站今天关闭了-.- .1 表行中有 2 个文本视图,1 个应该在左侧站点。

第二个应该固定在右侧。但是我有 2 个比屏幕长的文本视图。如果我启动应用程序,我只看到长文本视图的中间/结尾,短文本视图就在屏幕后面。如何使短文本视图固定在屏幕左侧?

我希望你明白我的意思,我的英语很差,但我认为我的问题内容很清楚。

这只是第一部分^^ xml文件要长得多 这是 xml 文件:

    <?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <ScrollView
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:isScrollContainer="true"
            android:overScrollMode="always"
            android:scrollbarAlwaysDrawVerticalTrack="true"
            android:scrollbarStyle="outsideInset"
            android:scrollbars="vertical" >

                    <TableLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" 
                    android:stretchColumns="1">

                        <TableRow
                                    android:id="@+id/tableRow0"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content" >


                                    <TextView
                                        android:layout_column="1"
                                        android:padding="3dip"
                                        android:textSize="20dp"
                                        android:text="@string/tab1_text1" 
                                        android:textColor="#ffffff"
                                        android:layout_marginTop="5dp"
                                        />

                             </TableRow>       

                        <View
                            android:layout_height="2dip"
                            android:background="#FF909090" />
                                <TableRow
                                    android:id="@+id/tableRow1"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content" >


                                    <TextView
                                        android:layout_column="1"
                                        android:padding="3dip"
                                        android:text="@string/TV_1_1" android:textColor="#ffffff"/>

                                    <TextView
                                        android:id="@+id/in1_1"
                                        android:gravity="right"
                                        android:padding="3dip"
                                        android:text="TEXT2" android:textColor="#ffffff"/>
                                </TableRow>

                                <TableRow
                                    android:id="@+id/tableRow2"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content" >

                                    <TextView
                                        android:layout_column="1"
                                        android:padding="3dip"
                                        android:text="@string/TV_1_2" android:textColor="#ffffff"/>


                                    <TextView
                                        android:id="@+id/in1_2"
                                        android:gravity="right"
                                        android:padding="3dip"
                                        android:text="TEXT2" android:textColor="#ffffff"/>
                                </TableRow>
                                <TableRow
                                    android:id="@+id/tableRow3"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content" >


                                    <TextView
                                        android:layout_column="1"
                                        android:padding="3dip"
                                        android:text="@string/TV_1_3" android:textColor="#ffffff"/>

                                    <TextView
                                        android:id="@+id/in1_3"
                                        android:gravity="right"
                                        android:padding="3dip"
                                        android:text="TEXT2" 
                                    android:textColor="#ffffff"
                                    android:singleLine="true" 
                                        android:ellipsize="marquee"
                                        android:marqueeRepeatLimit ="marquee_forever"
                                        android:focusable="true"
                                        android:focusableInTouchMode="true" 
                                        android:scrollHorizontally="true"
                                        android:layout_width="wrap_content" 
                                        android:layout_height="wrap_content"
                                    />
                                </TableRow>

既然你忽略了我的评论,那会解决你的问题......

<ScrollView>
    <TextView /> <--- The one with really long text
</ScrollView>

正如我在评论中所说,使用ScrollView对象封装包含大量文本的TextView,并以与定位Textview相同的方式定位ScrollView,您将解决您的问题。

你的问题有点难以理解,但看看你在评论中的插图,我认为你需要加权你的 TextViews。请看下面的例子。

注意:这不会拉伸您的左列,正如您在 TableLayout 示例代码中指出的那样。

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content">
    <TableRow>
        <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:singleLine="true"
                android:ellipsize="marquee"
                android:padding="3dp"
                android:text="Hello layout_weight" />
        <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:singleLine="true"
                android:padding="3dp"
                android:gravity="right"
                android:scrollHorizontally="true"
                android:text="Row 1, Col 1" />
    </TableRow>
    <TableRow>
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:singleLine="true"
            android:ellipsize="marquee"
            android:padding="3dp"
            android:text="Some long text in your left column, taking half the screen width"
        />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:padding="3dp"
            android:text="This is the long scrolling text in your right column."
            android:singleLine="true"
            android:ellipsize="marquee"
            android:marqueeRepeatLimit="marquee_forever"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:scrollHorizontally="true"
        />
    </TableRow>
</TableLayout>

相关内容

最新更新