我如何在两个布局之间放置一个按钮 [英] How can i position a button in between two layouts
问题描述
我正在尝试在两个布局之间放置一个按钮.
I am trying to position a button in between two layouts.
此外,如果您能帮忙的话,我也不必一定要留有余量,当您开始处理不同的屏幕尺寸时,余量会减少. (在此图像中,我试图将绿色按钮放置在两个布局之间)
Also, I don't want to have to do this with a margin if I can help it, when you start dealing with different screen sizes margin breaks down. (In this image, I am trying to position the green button in between two layouts)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:background="@color/busy_white">
<LinearLayout
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:gravity="center">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/profile_default_round"
android:background="@drawable/ring_status_clock_in"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="John Doe"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Manager"/>
</LinearLayout>
<RelativeLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/translucent_black_90"
android:padding="16dp">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_alignParentLeft="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Today Total"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="08:32"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_alignParentRight="true">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Week Total"
android:gravity="right"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="24:32"
android:gravity="center"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="-40dp">
</LinearLayout>
</RelativeLayout>
<include layout="@layout/dashboard_clock_in_button" />
</LinearLayout>
推荐答案
这种UI要求多层重叠.
所以FrameLayout是这里的英雄.
要给出我们想要实现的基本概念,我们可以绘制屏幕草图并确定位置
FL 是主要的容器,它将是一个FrameLayout.
您需要制作一个固定高度的按钮.假设BL的高度为 bl dp.
只需向LinearLayout LL 提供长度为 bl/2 dp的MarginBottom.
LL 是包含个人资料图片和作品的容器.
This kind of UI calls for overlap of multiple layers.
So FrameLayout is the hero here.
To give a basic idea of what we wish to achieve, we can sketch the screen and decide placements
FL is the main container which will be a FrameLayout.
You need to make a button of fixed height. Let's say BL is of height bl dp.
Simply provide a MarginBottom of length bl/2 dp to the LinearLayout LL.
Where LL is the container which would contain the profile image and the works.
布局文件如下所示
<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"
android:background="@android:color/white"
android:orientation="vertical"
tools:context=".MainActivity">
<LinearLayout
android:id="@+id/ConcernedPortionofScreen"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.4"
android:orientation="vertical">
<!-- Parent FrameLayout 'FL' -->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- This is Layout 'LL'
This is where you will place your image & the nice bg
-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="25dp"
android:background="#b2ebf2" />
<!-- BL = 50dp -->
<Button
android:layout_width="100dp"
android:layout_height="50dp"
android:layout_gravity="bottom|center_horizontal"
android:background="#558b2f"
android:text="@android:string/ok"
android:textSize="18sp"
android:textColor="@android:color/white" />
</FrameLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/RestofScreen"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.6"
android:orientation="vertical" />
</LinearLayout>
输出看起来像这样
The output will look like this
这篇关于我如何在两个布局之间放置一个按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!