Android如何在两个textview之间分割整个屏幕宽度的五十五折?

时间:2012-11-18 15:14:01

标签: android textview screen

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

3 个答案:

答案 0 :(得分:9)

每当在水平 / 垂直

中平均分割某些视图(按钮,文字视图)时

android:重量总和 / android:layout_weight 技术使用......

必须记住这些技术必须支持的一件事线性布局,但在这里你要使用相对布局,这样只需将你的线性布局内部相对布局 ..

必须遵守以下规则:

1>组 android:weight Sum 进入线性布局

2 - ;设置 android:layout_width 每个孩子在“0dp”内查看

3>设置 android:layout_weight 每个子视图取决于子视图的数量和数量。 android:weight Sum (例如: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>

如果布局方向为垂直,则只设置 android:layout_height “0dp”而不是 android:layout_width

答案 1 :(得分:8)

您可以尝试使用权重在相对布局中创建线性布局,然后设置android:layout_width="fill_parent"android:weightSum = 2以及android: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权重= 2而另一个textview权重= 1,则布局将是2/3(66.666%)和1 / 3(33.3333%)所以如果你设置它2并给每个textview权重= 1它应该是50%和50%

对我来说,如果您有任何问题可以在评论中随意提问:)

答案 2 :(得分:3)

layout_width设置fill_parentTextView,并为layout_weight提供相同的1.0,并且应该这样做(或者不提供一个layout_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>