我是创建Android应用程序的初学者,所以如果我的问题是愚蠢的话,请善待......
我想创建一个以结构方式显示某些数据的表格,但我的问题是,我有七列而且它们不适合屏幕。因此,最后一个coloumn在它开始时被削减,这不仅看起来很糟糕,这对我来说也是一个问题,因为重要的是,这个coloumn也会显示出来。
让你更好地了解我的意思:
我收到了这段代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="*censored*"
android:background="@drawable/gardient_background">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/scrollView"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:scrollbars="none"
android:overScrollMode="never"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/representations_table"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:stretchColumns="6"
android:orientation="vertical">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
style="@style/TableHeaderRow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/stage_header"
android:paddingLeft="5dp"
android:ellipsize="end"
android:singleLine="true"
android:width="25dp"
android:textSize="15dp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hour"
android:id="@+id/hour_header"
style="@style/TableHeaderRow"
android:paddingLeft="5dp"
android:ellipsize="end"
android:singleLine="true"
android:width="50dp"
android:textStyle="bold"
android:textSize="15dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/subject"
android:id="@+id/subject_header"
android:paddingLeft="5dp"
style="@style/TableHeaderRow"
android:ellipsize="end"
android:singleLine="true"
android:width="40dp"
android:textStyle="bold"
android:textSize="15dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/room"
android:id="@+id/room_header"
android:paddingLeft="5dp"
style="@style/TableHeaderRow"
android:ellipsize="end"
android:singleLine="true"
android:width="50dp"
android:textStyle="bold"
android:textSize="15dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/teacher"
android:id="@+id/teacher_header"
android:paddingLeft="5dp"
style="@style/TableHeaderRow"
android:ellipsize="end"
android:singleLine="true"
android:width="50dp"
android:textStyle="bold"
android:textSize="15dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/info"
android:id="@+id/info_header"
android:paddingLeft="5dp"
style="@style/TableHeaderRow"
android:ellipsize="end"
android:singleLine="true"
android:width="60dp"
android:textStyle="bold"
android:textSize="15dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text"
android:id="@+id/text_header"
android:paddingLeft="5dp"
style="@style/TableHeaderRow"
android:ellipsize="end"
android:singleLine="true"
android:width="30dp"
android:textStyle="bold"
android:textSize="15dp" />
</TableRow>
</TableLayout>
</LinearLayout>
</ScrollView>
但是这给了我:
但是我也需要屏幕内的最后一个coloumn(你可以看到这个coloumn的“V”的一部分) 我知道有一些不可能的事情,比如有很多文字,这就是为什么它不可能,但在这种情况下,我希望文本将缩短为“...”就像你在screentshot中看到的那样(Stunde - &gt; Stun ......)。
所以最后:我怎么能把整个表格(我不在乎它是否已经塞满),在整个屏幕宽度?
请注意:我不是编程方面的新手,我相信Java,php,JS,C#等。我在设计方面做得不好而且不确定使用Android API。
答案 0 :(得分:0)
您可以尝试为列指定权重,以便它们无论如何都显示。其他选项是为手机和平板电脑设置不同的视图,即仅在平板电脑/横向视图中显示所有列,并在纵向视图中以不同方式显示数据。