0

尝试RelativeLayout在较小的屏幕尺寸上呈现以下内容时。在图形布局编辑器中,第二个TextView完全隐藏,但第一个完全展开,显示完整的文本内容。我知道这TextViews应该是可滚动的。

有什么方法可以使用RelativeLayout并给每个屏幕的相等部分,或者我应该只使用 a LinearLayoutand uselayout_weight吗?从 Android 文档中的指导来看,我的印象是应该避免LinearLayout使用RelativeLayout.

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tv1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:fillViewport="true"
        android:gravity="center"
        android:text="Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Curabitur molestie tempor ante non interdum. Nullam sit amet diam ligula. Suspendisse ultricies commodo felis in rutrum. Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Curabitur molestie tempor ante non interdum. Nullam sit amet diam ligula. Suspendisse ultricies commodo felis in rutrum.Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Curabitur molestie tempor ante non interdum. Nullam sit amet diam ligula. Suspendisse ultricies commodo felis in rutrum."
        android:scrollbars="vertical"
        android:maxlines="100"
        android:textSize="22dp" >
    </TextView>

    <TextView
        android:id="@+id/tv2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tv1"
        android:fillViewport="true"
        android:gravity="center"
        android:scrollbars="vertical"
        android:maxlines="100"
        android:text="Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Curabitur molestie tempor ante non interdum. Nullam sit amet diam ligula. Suspendisse ultricies commodo felis in rutrum. Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Curabitur molestie tempor ante non interdum. Nullam sit amet diam ligula. Suspendisse ultricies commodo felis in rutrum.Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Curabitur molestie tempor ante non interdum. Nullam sit amet diam ligula. Suspendisse ultricies commodo felis in rutrum."
        android:textSize="22dp" />
</RelativeLayout>

4

2 回答 2

1

由于您在第一个 TextView 中使用了“wrap_content”,它会填满所有可用空间,然后就没有空间留给第二个 TextView。如果您希望同时拥有它们,则可以将它们放在具有相同权重的 LinearLayout 中,或者您可以在“layout_height”字段中指定特定大小。PS 如果您希望它们在所有设备上都相同,那么 LinearLayout 是您最好的选择。如果您想添加任何其他相对于它们的小部件,您也可以在 RelativeLayout 中使用 LinearLayout。

于 2012-08-14T16:13:01.537 回答
0

支持的方式,如果你可以这样称呼的话,将是使用 LinearLayout 和布局权重。另一个答案中的某个人有一个绝妙的主意。创建一个不可见的视图,将其居中并将两个文本视图放置在该视图的两侧。

也就是说,它始终是 50/50 的拆分,并且不会像布局权重那样为您提供足够的灵活性(收缩/增长),但这取决于您的需要。

于 2012-08-14T16:49:18.740 回答