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