如何在两个布局之间放置一个按钮

6

我想在两个布局之间添加一个普通按钮,如图所示。

我不想使用浮动按钮和协调布局。

是否可以使用相对布局实现?

演示图片 没有图片描述

我正在使用以下xml文件来完成它。

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

    <fragment
        android:id="@+id/mapForPlannedRide"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="3.5" />

    <LinearLayout
        android:id="@+id/planned_detail_layout"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="6.5"
        android:background="@color/text_white"
        android:orientation="vertical"
        android:weightSum="10" >

        <LinearLayout
            android:id="@+id/departure_layout"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="2.5"
            android:gravity="center_vertical"
            android:orientation="horizontal"
            android:paddingLeft="20dp"
            android:paddingRight="20dp" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/passenger" />

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:paddingLeft="5dp" >

                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/departure"
                    android:textSize="@dimen/text_size17sp" />

                <TextView
                    android:id="@+id/departure"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="dfg ddfghd dfdg"
                    android:textSize="@dimen/text_size14sp" />
            </LinearLayout>
        </LinearLayout>

        <View
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight=".03"
            android:background="@color/line_color" />

        <LinearLayout
            android:id="@+id/destination_layout"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="2.5"
            android:gravity="center_vertical"
            android:orientation="horizontal"
            android:paddingLeft="20dp"
            android:paddingRight="20dp" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/passenger" />

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:paddingLeft="5dp" >

                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/destination"
                    android:textSize="@dimen/text_size17sp" />

                <TextView
                    android:id="@+id/destination"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="Dilshad Garden Delhi"
                    android:textSize="@dimen/text_size14sp" />
            </LinearLayout>
        </LinearLayout>

        <View
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight=".03"
            android:background="@color/line_color" />

        <LinearLayout
            android:id="@+id/date_time_layout"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1.5"
            android:gravity="center_vertical"
            android:orientation="horizontal"
            android:paddingLeft="20dp"
            android:paddingRight="20dp" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/passenger" />

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:paddingLeft="5dp" >

                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/date_time"
                    android:textSize="@dimen/text_size17sp" />

                <TextView
                    android:id="@+id/date_time"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="10:00 a.m."
                    android:textSize="@dimen/text_size14sp" />
            </LinearLayout>
        </LinearLayout>

        <View
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight=".03"
            android:background="@color/line_color" />

        <LinearLayout
            android:id="@+id/chosen_vehicle_layout"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1.5"
            android:gravity="center_vertical"
            android:orientation="horizontal"
            android:paddingLeft="20dp"
            android:paddingRight="20dp" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/passenger" />

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:paddingLeft="5dp" >

                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/chosen_vehicle"
                    android:textSize="@dimen/text_size17sp" />

                <TextView
                    android:id="@+id/chosen_vehicle"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="Dus One"
                    android:textSize="@dimen/text_size14sp" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

编程上对齐的问题出在哪里? - thepoosh
我已经尝试过了,但是毫无头绪。 - Soni Kumar
使用RelativeLayout,然后从设计菜单中,在两个布局之间拖动图像,如果您分享您的代码,我会完成并交还给您,这很简单。 - Sumit Pathak
CoordinatorLayout 有什么问题吗?你可能可以用 RelativeLayout 来实现,但我看不出有什么好处。像这样创建布局正是 CoordinatorLayout 的用途所在。 - Bryan
1个回答

2

我尝试使用 RelativeLayout 来检查以下代码:

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

    <fragment
        android:id="@+id/mapForPlannedRide"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="180dp" />

    <LinearLayout
        android:id="@+id/departure_layout"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:layout_below="@+id/mapForPlannedRide"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:paddingLeft="20dp"
        android:paddingRight="20dp">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/passenger" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingLeft="5dp">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/departure"
                android:textSize="@dimen/text_size17sp" />

            <TextView
                android:id="@+id/departure"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="dfg ddfghd dfdg"
                android:textSize="@dimen/text_size14sp" />
        </LinearLayout>
    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight=".03"
        android:background="@color/line_color" />

    <LinearLayout
        android:id="@+id/destination_layout"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:layout_below="@+id/departure_layout"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:paddingLeft="20dp"
        android:paddingRight="20dp">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/passenger" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingLeft="5dp">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/destination"
                android:textSize="@dimen/text_size17sp" />

            <TextView
                android:id="@+id/destination"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Dilshad Garden Delhi"
                android:textSize="@dimen/text_size14sp" />
        </LinearLayout>
    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight=".03"
        android:background="@color/line_color" />

    <LinearLayout
        android:id="@+id/date_time_layout"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:layout_below="@+id/destination_layout"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:paddingLeft="20dp"
        android:paddingRight="20dp">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/passenger" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingLeft="5dp">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/date_time"
                android:textSize="@dimen/text_size17sp" />

            <TextView
                android:id="@+id/date_time"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="10:00 a.m."
                android:textSize="@dimen/text_size14sp" />
        </LinearLayout>
    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight=".03"
        android:background="@color/line_color" />

    <LinearLayout
        android:id="@+id/chosen_vehicle_layout"
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:layout_below="@+id/date_time_layout"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:paddingLeft="20dp"
        android:paddingRight="20dp">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/passenger" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingLeft="5dp">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/chosen_vehicle"
                android:textSize="@dimen/text_size17sp" />

            <TextView
                android:id="@+id/chosen_vehicle"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Dus One"
                android:textSize="@dimen/text_size14sp" />
        </LinearLayout>
    </LinearLayout>

    <ImageView
        android:layout_width="100dp"
        android:layout_height="50"
        android:layout_alignParentBottom="false"
        android:layout_alignParentRight="true"
        android:layout_centerHorizontal="true"
        android:layout_marginRight="20dp"
        android:layout_marginTop="150dp"
        android:src="@android:drawable/ic_reminder" />

</RelativeLayout>

1
是的,但最终找到了解决方案。 - Amit Vaghela
你现在遇到了什么问题?@Dev Sharma - Amit Vaghela
没有问题。它运行得很好。 - Soni Kumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接