我试图在旋转时调整按钮大小以按比例扩展。现在,它们是固定长度,但我不确定是否有另一种方法可以让按钮调整大小(设置重量似乎没有帮助)。我希望按钮基本上垂直和水平地填充屏幕的长度。如果您需要更多信息,请与我们联系。
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_gravity="center_vertical" >
<Button
android:id="@+id/mainCommentBtn"
android:layout_width="119dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:clickable="true"
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_weight="1"
android:text="@string/commentBtn" />
<Button
android:id="@+id/mainProfileBtn"
android:layout_width="119dp"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_weight="1"
android:layout_centerInParent="true"
android:text="@string/profileBtn" />
<Button
android:id="@+id/mainDetailBtn"
android:layout_width="119dp"
android:clickable="true"
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/shareBtn" />
</LinearLayout>
答案 0 :(得分:0)
用此替换您的资源。复制已编辑的更改
注意宽度是0dp因为它们正在使用重量。 使用重量: 1.为了使用重量,您需要在父母中设置weightSum。 2.根据您使用的重量,确保宽度或高度设置为0。 (例如,因为我们使用水平方向,我们想要使用“0dp”宽度。这允许重量控制对象的宽度。 3.最后确保所有物体的重量加起来为weightSum。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="5dp"
android:orientation="horizontal"
android:weightSum="3" >
<Button
android:id="@+id/mainCommentBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_weight="1"
android:clickable="true"
android:focusable="false"
android:focusableInTouchMode="false"
android:text="@string/commentBtn" />
<Button
android:id="@+id/mainProfileBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_weight="1"
android:clickable="true"
android:focusable="false"
android:focusableInTouchMode="false"
android:text="@string/profileBtn" />
<Button
android:id="@+id/mainDetailBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_weight="1"
android:clickable="true"
android:focusable="false"
android:focusableInTouchMode="false"
android:text="@string/shareBtn" />
</LinearLayout>
答案 1 :(得分:0)
您需要指定LinearLayout
的方向。
我想你想使用android:orientation="horizontal"
。
然后,为了使android:weight
有效,您需要使用0px
为每个按钮指定每个按钮的宽度为android:layout_width="0px"
。
答案 2 :(得分:0)
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="Button" />
这些xml属性调整按钮的大小,使其垂直和水平填充屏幕。
答案 3 :(得分:0)
您可以借助布局权重创建布局,以便它也会以横向模式自动填充屏幕,如下所示:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 1"
android:layout_weight="1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 2"
android:layout_weight="1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 3"
android:layout_weight="1" />
</LinearLayout>