我在屏幕按钮上有四个按钮,我希望它们之间的间隙尽可能相等。
这就是我放置按钮的方式。
这是我在模拟器和设备上运行它们时的显示方式。
这是按钮的xml代码。
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
<ImageView
android:id="@+id/img_base"
android:layout_width="fill_parent"
android:layout_height="58dip"
android:layout_alignParentBottom="true"
android:background="@drawable/base" />
<Button
android:id="@+id/btn_gotoLocation"
android:layout_width="43dip"
android:layout_height="50dip"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginLeft="16dp"
android:background="@drawable/location" />
<Button
android:id="@+id/calculate"
android:layout_width="43dip"
android:layout_height="50dip"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginRight="23dp"
android:background="@drawable/cal" />
<Button
android:id="@+id/btn_info"
android:layout_width="43dip"
android:layout_height="50dip"
android:layout_alignParentBottom="true"
android:layout_marginRight="25dp"
android:layout_toLeftOf="@+id/calculate"
android:background="@drawable/info" />
<ImageView
android:id="@+id/add_place"
android:layout_width="50dip"
android:layout_height="60dip"
android:layout_alignParentBottom="true"
android:layout_marginRight="36dp"
android:layout_toLeftOf="@+id/btn_info"
android:src="@drawable/add_place" />
</RelativeLayout>
如何解决此问题?
答案 0 :(得分:1)
请使用android:layout:weight
更新
<LinearLayout
android:layout_width="0dp"
android:layout_height="55dp"
android:gravity="center"
android:layout_weight="1" >
<ImageView
android:id="@+id/img_base"
android:layout_width="43dip"
android:layout_height="50dip"
android:background="@drawable/ic_launcher" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="55dp"
android:gravity="center"
android:layout_weight="1" >
<Button
android:id="@+id/btn_gotoLocation"
android:layout_width="43dip"
android:layout_height="50dip"
android:background="@drawable/ic_launcher" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="55dp"
android:gravity="center"
android:layout_weight="1" >
<Button
android:id="@+id/calculate"
android:layout_width="43dip"
android:layout_height="50dip"
android:background="@drawable/ic_launcher" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="55dp"
android:gravity="center"
android:layout_weight="1" >
<Button
android:id="@+id/btn_info"
android:layout_width="43dip"
android:layout_height="50dip"
android:background="@drawable/ic_launcher" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="55dp"
android:gravity="center"
android:layout_weight="1" >
<ImageView
android:id="@+id/add_place"
android:layout_width="43dip"
android:layout_height="50dip"
android:background="@drawable/ic_launcher" />
</LinearLayout>
答案 1 :(得分:1)
您可以添加线性布局,并将项目的权重设置为1 ...
<LinearLayout android:weight="1">
<Button android:layout_weight="1"/>
<Button android:layout_weight="1"/>
<Button android:layout_weight="1"/>
<Button android:layout_weight="1"/>
</LinearLayout>
答案 2 :(得分:1)
你可以用这个......
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="60dp"
android:gravity="bottom"
android:orientation="horizontal" >
<ImageView
android:id="@+id/img_base"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/base" />
<Button
android:id="@+id/btn_gotoLocation"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/location" />
<Button
android:id="@+id/calculate"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/cal" />
<Button
android:id="@+id/btn_info"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/info" />
<ImageView
android:id="@+id/add_place"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/add_place" />
</LinearLayout>
</LinearLayout>
答案 3 :(得分:0)
您应该为所有按钮提供相同的android:layout_marginLeft
值。
答案 4 :(得分:0)
好的,你可以试试这个
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_gravity:"center_horizontal|bottom" >
<ImageView
android:id="@+id/img_base"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/base" />
<Button
android:id="@+id/btn_gotoLocation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="@drawable/location" />
<Button
android:id="@+id/calculate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@drawable/cal" />
<Button
android:id="@+id/btn_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@+id/calculate"
android:background="@drawable/info" />
<ImageView
android:id="@+id/add_place"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@+id/btn_info"
android:src="@drawable/add_place" />
</RelativeLayout>
只是忽略边距,它应该很好。
希望它有效。