10

我在一个相对布局中有两个 TextView。如果我想要那些总是(不同的屏幕分辨率,例如 540x960)每个 TextView 的宽度是整个 UI 宽度的 50%,如何设置 TextViews?我会将两个 TextView 的大小都设置为 UI 全宽的 50%。需要在不同的屏幕分辨率上拉伸 TextViews。我怎样才能做到这一点?

4

3 回答 3

11

每当在水平/垂直中平均分割一些视图,如(按钮,文本视图)

android:weight Sum / android:layout_weight技术使用...

必须记住这些技术必须仅在线性布局中支持的一件事,但是在这里您想使用相对布局,以便简单地将线性布局放在相对布局中。

必须遵守这些规则:

1> 将 android:weight Sum设置 为线性布局

2> 设置android:layout_width每个子视图在“0dp”内

3> 设置android:layout_weight每个子视图取决于多少子视图 & android:weight Sum (eg: android:weight Sum = "2" & two child view then layout_weight="1" , layout_weight="1")

前任:

     <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:weightSum="2" >

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="child View 1" />

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="child View 2"/>
        </LinearLayout>
    </RelativeLayout>

如果 Layout Orientation 为Vertical则只设置android:layout_height"0dp"而不是android:layout_width

于 2014-11-06T07:42:47.720 回答
8

您可以尝试使用权重在相对布局中创建线性布局,然后设置android:layout_width="fill_parent"android:weightSum = 2android:orientation="horizontal",然后将 textview 放在线性布局内并设置每个 textview 的权重 1。

<RelativeLayout
android:layout_width = "fill_parent" 
android:layout_height = "wrap_content">
<LinearLayout 
android:layout_width = "fill_parent" 
android:layout_height = "wrap_content" 
android:orientation="horizontal"
android:weightSum = "2">
            <TextView
                android:layout_width = "fill_parent"
                android:layout_height = "wrap_content"
                android:text = "YOUR FIRST TEXT"
                android:weight = "1"
            />
            <TextView
                android:layout_width = "fill_parent"
                android:layout_height = "wrap_content"
                 android:text = "YOUR SECOND TEXT"
                android:weight = "1"
            />
        </LinearLayout>
</RelativeLayout>

权重总和将用于测量 textview 的部分,例如如果您给出权重总和 3 并给出 1 textview weight = 2 和另一个 textview weight = 1 布局将是 2/3 (66.666%) 和 1/3 ( 33.3333%) 所以如果你设置它 2 并给每个 textview weight = 1 它应该是 50% 和 50%

它对我有用,如果您有任何问题,请随时在评论中提问:)

于 2012-11-18T15:23:29.427 回答
3

为两个s设置layout_widthto并给他们相同的like并且应该这样做(或者不给任何一个 a )。fill_parentTextViewlayout_weight1.0layout_weight

这样的事情应该可以解决问题:

<LinearLayout 
 android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
 orientation = "horizontal">
        <TextView
            android:layout_width = "fill_parent"
            android:layout_height = "wrap_content"
            android:text = "Text 1"
        />
        <TextView
            android:layout_width = "fill_parent"
            android:layout_height = "wrap_content"
            android:text = "Text 2"
        />
    </LinearLayout>
于 2012-11-18T15:31:14.330 回答