Java 在Android studio中,我需要使用什么类型的填充来将按钮置于屏幕中央?

Java 在Android studio中,我需要使用什么类型的填充来将按钮置于屏幕中央?,java,android,android-studio,Java,Android,Android Studio,我正在尝试调整应用程序的主屏幕,使按钮稍微向右移动 这里有一个链接,指向我当前主屏幕的图像版本 以下是我希望它看起来的样子: 我上传的所有图标都有额外的空间来调整填充。我在草图上制作了图标,并将它们作为整个按钮上传。 下面是其中一个的屏幕截图: 我知道我需要做一些填充,但我应该写些什么来确保图标和文本向右移动 以下是相关活动: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:

我正在尝试调整应用程序的主屏幕,使按钮稍微向右移动

这里有一个链接,指向我当前主屏幕的图像版本

以下是我希望它看起来的样子:

我上传的所有图标都有额外的空间来调整填充。我在草图上制作了图标,并将它们作为整个按钮上传。 下面是其中一个的屏幕截图:

我知道我需要做一些填充,但我应该写些什么来确保图标和文本向右移动

以下是相关活动:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
tools:context="com.example.leoconnelly.connexus.MainActivity">

<LinearLayout
    android:id="@+id/ll_learn"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_gravity="center_vertical"
    android:layout_weight="1">

    <ImageButton
        android:id="@+id/learn"
        android:layout_width="match_parent"
        android:scaleType="centerCrop"
        android:src="@mipmap/learn_layer_long"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:padding="0dp"
        android:layout_weight="1"
        android:text="@string/learn"
        android:textSize="22sp"
       />





</LinearLayout>

<LinearLayout
    android:id="@+id/ll_find_care"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:layout_gravity="center_vertical">

    <ImageButton
        android:id="@+id/find_care_button"
        android:layout_width="match_parent"
        android:padding = "0dp"
        android:scaleType="centerCrop"
        android:src="@mipmap/findcare_layer_long"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:text="@string/learn"
        android:textSize="22sp" />

</LinearLayout>

<LinearLayout
    android:id="@+id/ll_talk_to_doctor"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:layout_gravity="center_vertical">

    <ImageButton
        android:id="@+id/TalkToADocButton"

        android:layout_width="match_parent"
        android:scaleType="centerCrop"
        android:src="@mipmap/talk_doc_layer_long"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:padding="0dp"
        android:layout_weight="1"
        android:textSize="22sp" />


</LinearLayout>

<LinearLayout
    android:id="@+id/ll_visit_website"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:layout_gravity="center_vertical">

    <ImageButton
        android:id="@+id/VisitWeb"
        android:layout_width="match_parent"
        android:scaleType="centerCrop"

        android:src="@mipmap/visit_web_layer_long"

        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:padding="0dp"
        android:layout_weight="1"
        android:textSize="22sp" />

</LinearLayout>

试试看:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:id="@+id/ll_learn"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <ImageView
            android:src="@mipmap/findcare_layer_long"
            android:scaleType="centerCrop"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"/>

        <TextView
            android:text="@android:string/untitled"
            android:gravity="center"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textSize="22sp" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/ll_find_care"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <ImageView
            android:src="@mipmap/findcare_layer_long"
            android:scaleType="centerCrop"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"/>

        <TextView
            android:text="@android:string/untitled"
            android:gravity="center"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textSize="22sp" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/ll_talk_to_doctor"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <ImageView
            android:src="@mipmap/talk_doc_layer_long"
            android:scaleType="centerCrop"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"/>

        <TextView
            android:text="@android:string/untitled"
            android:gravity="center"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textSize="22sp" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/ll_visit_website"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">

        <ImageView
            android:src="@mipmap/visit_web_layer_long"
            android:scaleType="centerCrop"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"/>

        <TextView
            android:text="@android:string/untitled"
            android:gravity="center"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textSize="22sp" />

    </LinearLayout>

</LinearLayout>

在父布局中设置填充。因此,如果您想为“5dp”的所有四个侧面添加填充物,请执行以下操作:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="5dp"
tools:context="com.example.leoconnelly.connexus.MainActivity">

我在这里定制了您的布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<LinearLayout
    android:id="@+id/ll_learn"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_gravity="center_vertical"
    android:layout_weight="1"
    android:background="@android:color/holo_blue_light">

    <TextView
        android:id="@+id/learn"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:layout_marginStart="20dp"
        android:layout_marginEnd="20dp"
        android:drawablePadding="30dp"
        android:drawableStart="@drawable/ic_ico"
        android:gravity="center_vertical|center_horizontal"
        android:scaleType="centerCrop"
        android:text="learn"
        android:textStyle="bold"
        android:textColor="@color/white"
        android:textSize="30sp" />


</LinearLayout>

<LinearLayout
    android:id="@+id/ll_find_care"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_gravity="center_vertical"
    android:layout_weight="1"
    android:background="@android:color/holo_green_dark">

    <TextView
        android:id="@+id/find_care"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:layout_marginStart="20dp"
        android:layout_marginEnd="20dp"
        android:drawablePadding="30dp"
        android:drawableStart="@drawable/ic_ico"
        android:gravity="center_vertical|center_horizontal"
        android:scaleType="centerCrop"
        android:text="Find Care"
        android:textStyle="bold"
        android:textColor="@color/white"
        android:textSize="30sp" />

</LinearLayout>

<LinearLayout
    android:id="@+id/ll_talk_to_doctor"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_gravity="center_vertical"
    android:layout_weight="1"
    android:background="@android:color/holo_orange_dark">

    <TextView
        android:id="@+id/TalkToADocButton"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:layout_marginStart="20dp"
        android:layout_marginEnd="20dp"
        android:drawablePadding="30dp"
        android:drawableStart="@drawable/ic_ico"
        android:gravity="center_vertical|center_horizontal"
        android:scaleType="centerCrop"
        android:text="Emergency"
        android:textStyle="bold"
        android:textColor="@color/white"
        android:textSize="30sp" />


</LinearLayout>

<LinearLayout
    android:id="@+id/ll_visit_website"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_gravity="center_vertical"
    android:layout_weight="1"
    android:background="@android:color/holo_red_dark">

    <TextView
        android:id="@+id/VisitWeb"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:layout_marginStart="20dp"
        android:layout_marginEnd="20dp"
        android:drawablePadding="30dp"
        android:drawableStart="@drawable/ic_ico"
        android:gravity="center_vertical|center_horizontal"
        android:scaleType="centerCrop"
        android:text="Message to a Doctor"
        android:textStyle="bold"
        android:textColor="@color/white"
        android:textSize="30sp" />

</LinearLayout>

注意:根据您的要求更改颜色和图标。因为这里我使用了样本图像和颜色进行测试

输出:


您可能希望研究使用ConstraintLayout。居中项目并为其添加权重要容易得多。实现这一点的最佳方法是通过约束布局。它响应迅速,可以处理所有屏幕大小。这不起作用,因为这些都是图像按钮,而不是图像。但您可以单击
LinearLayout
,这没有区别