我有一个像hello这样的表布局,android dev上的tablelayout -wow网站今天关闭-.-。 1 tableRow中有2个textviews,1应位于左侧站点。
第二个应固定在右侧。但是我有两个比屏幕长的文本视图。如果我启动应用程序,我只看到长文本视图的中间/结尾,短片就在屏幕后面。如何在左侧屏幕固定短文本视图?
我希望你知道我的意思,我的英语非常糟糕,但我认为我的问题内容很清楚。
这只是第一部分^^ 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>
答案 0 :(得分:0)
因为你忽略了我的评论会解决你的问题......
<ScrollView>
<TextView /> <--- The one with really long text
</ScrollView>
正如我在评论中所说,使用ScrollView对象封装了包含大量文本的TextView,并以与定位Textview相同的方式定位ScrollView,您将解决问题。
答案 1 :(得分:0)
您的问题有点难以理解,但在评论中查看您的插图,我认为您需要加权TextView。看一下下面的例子。
注意:这不会像您在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>