有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java等间距按钮安卓

我目前正在开发一款安卓应用程序。我无法在屏幕上使按钮均匀分布

下面是我的代码

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
    xmlns:tools="http://schemas.安卓.com/tools"
    安卓:id="@+id/activity_main_menu"
    安卓:background="#354739"
    安卓:layout_width="match_parent"
    安卓:layout_height="match_parent"
    安卓:paddingBottom="@dimen/activity_vertical_margin"
    安卓:paddingLeft="@dimen/activity_horizontal_margin"
    安卓:paddingRight="@dimen/activity_horizontal_margin"
    安卓:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.cssdapp.MainMenuActivity">

    <ImageView
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:src="@drawable/icon"
        />

    <Button
        安卓:text="Log Off"
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:background="#6b5847"
        安卓:id="@+id/logOff"
        安卓:layout_alignParentBottom="true"
        安卓:layout_alignParentLeft="true"
        安卓:layout_alignParentStart="true"
        安卓:layout_alignParentRight="true"
        安卓:layout_alignParentEnd="true" />

    <Button
        安卓:text="Manage Farmers"
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:background="#6b5847"
        安卓:id="@+id/button4"
        安卓:layout_above="@+id/button5"
        安卓:layout_alignParentLeft="true"
        安卓:layout_alignParentStart="true"
        安卓:layout_alignParentRight="true"
        安卓:layout_alignParentEnd="true" />

    <Button
        安卓:text="My Account"
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:background="#6b5847"
        安卓:id="@+id/button5"
        安卓:layout_marginBottom="47dp"
        安卓:layout_alignParentBottom="true"
        安卓:layout_alignParentLeft="true"
        安卓:layout_alignParentStart="true"
        安卓:layout_alignParentRight="true"
        安卓:layout_alignParentEnd="true" />

    <Button
        安卓:text="Manage Farmers"
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:background="#6b5847"
        安卓:id="@+id/button3"
        安卓:layout_above="@+id/button4"
        安卓:layout_alignParentLeft="true"
        安卓:layout_alignParentStart="true"
        安卓:layout_marginBottom="21dp"
        安卓:layout_alignParentRight="true"
        安卓:layout_alignParentEnd="true" />

    <Button
        安卓:text="Order History"
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:background="#6b5847"
        安卓:id="@+id/button2"
        安卓:layout_above="@+id/button3"
        安卓:layout_alignParentLeft="true"
        安卓:layout_alignParentStart="true"
        安卓:layout_alignParentRight="true"
        安卓:layout_alignParentEnd="true" />

    <Button
        安卓:text="Make an Order"
        安卓:layout_width="wrap_content"
        安卓:layout_height="wrap_content"
        安卓:background="#6b5847"
        安卓:id="@+id/makeOrder"
        安卓:layout_above="@+id/button2"
        安卓:layout_alignParentLeft="true"
        安卓:layout_alignParentStart="true"
        安卓:layout_marginBottom="36dp"
        安卓:layout_alignParentRight="true"
        安卓:layout_alignParentEnd="true" />
</RelativeLayout>

我希望按钮在图像下方的屏幕上均匀分布。在那一刻,图像是我想去的地方,但是我无法把按钮放到我想去的地方。我正在尝试使用gui设计器,但它们不会很快到位。我正试图找出代码的方法来实现它

感谢您的帮助


共 (1) 个答案

  1. # 1 楼答案

    为了均匀地划分整个屏幕上的按钮,并在所有设备上保持同步,您需要使用LinearLayout 作为每个按钮的父视图和另一个线性布局,并将权重属性应用于每个按钮,以便在屏幕上均匀地划分它们,因为不能仅将权重属性应用于按钮本身,因为(它的高度或宽度取决于布局方向是水平的还是垂直的,将被缩放以填充整个空间)下面是一个代码片段来演示我所说的 `

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_main_menu"
        android:layout_marginBottom="@dimen/activity_vertical_margin"
        android:layout_marginLeft="@dimen/activity_horizontal_margin"
        android:layout_marginRight="@dimen/activity_horizontal_margin"
        android:layout_marginTop="@dimen/activity_vertical_margin"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:baselineAligned="false"
        android:orientation="vertical">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:gravity="center">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/icon" />
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:gravity="center">
    
            <Button
                android:id="@+id/logOff"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Log Off"
                android:textAllCaps="false"
                android:textStyle="bold" />
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:gravity="center">
            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/button4"
                android:text="Manage Farmers"
                android:textStyle="bold"
                android:textAllCaps="false"/>
    
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:gravity="center">
            <Button
                android:text="My Account"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/button5"
                android:textAllCaps="false"
                android:textStyle="bold"/>
        </LinearLayout>
    
    
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:gravity="center">
            <Button
                android:text="Order History"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/button2"
                android:textAllCaps="false"
                android:textStyle="bold"/>
        </LinearLayout>
    
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:gravity="center">
            <Button
                android:text="Make an Order"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/makeOrder"
                android:textAllCaps="false"
                android:textStyle="bold"/>
        </LinearLayout>
    </LinearLayout>`