如何在Android Studio的活动底部制作Android xml Linearlayout?
Posted
技术标签:
【中文标题】如何在Android Studio的活动底部制作Android xml Linearlayout?【英文标题】:How to make Android xml Linerlayout at the bottom of the activity in Android Studio? 【发布时间】:2020-08-17 07:53:49 【问题描述】:如何在页面底部的 android Studio 中制作 LinearLayout。下面代码的结果
我希望突出显示的深色布局位于页面底部。
<?xml version="1.0" encoding="utf-8"?>
<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:layout_
android:layout_
tools:context=".MainPage"
android:orientation="vertical"
android:background="#ffffff">
<Button
android:id="@+id/taptoscan"
android:layout_marginTop="40dp"
android:layout_marginBottom="10dp"
android:layout_
android:layout_
android:background="@drawable/barcode"
android:layout_gravity="center"/>
<TextView
android:layout_
android:layout_
android:text="Tap to Scan"
android:fontFamily="@font/antic"
android:layout_gravity="center"
android:textSize="18sp"/>
<!--here is the layout i want to put at the bottom of the page-->
<LinearLayout
android:layout_
android:layout_
android:background="@color/colorPrimaryDark"
android:orientation="horizontal"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:gravity="bottom">
<RelativeLayout
android:layout_
android:layout_>
</RelativeLayout>
</LinearLayout>
在上面的代码中,我尝试了下面的,但没有成功。
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:gravity="bottom"
【问题讨论】:
使用外层布局作为相对布局 @Ticherhaz 我也试过了,它不起作用 【参考方案1】:你可以在外面使用RelativeLayout。像这样,然后再添加一个新的 LinearLayout。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:background="#ffffff"
android:orientation="vertical"
tools:context=".MainPage">
<LinearLayout
android:layout_
android:layout_
android:orientation="vertical">
<Button
android:id="@+id/taptoscan"
android:layout_
android:layout_
android:layout_gravity="center"
android:layout_marginTop="40dp"
android:layout_marginBottom="10dp"
android:background="@drawable/barcode" />
<TextView
android:layout_
android:layout_
android:layout_gravity="center"
android:fontFamily="@font/antic"
android:text="Tap to Scan"
android:textSize="18sp" />
</LinearLayout>
<!--here is the layout i want to put at the bottom of the page-->
<LinearLayout
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:background="@color/colorPrimaryDark"
android:gravity="bottom"
android:orientation="horizontal">
<RelativeLayout
android:layout_
android:layout_ />
</LinearLayout>
</RelativeLayout>
【讨论】:
【参考方案2】:使用框架布局作为基本布局以最好的方式做到这一点,它肯定会起作用 只需在您想要的 LinearLayout 中使用 layout_gravity="bottom" 和 就像这样:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:background="#ffffff"
android:orientation="vertical"
tools:context=".MainPage">
<LinearLayout
android:layout_
android:layout_
android:orientation="vertical">
<Button
android:id="@+id/taptoscan"
android:layout_
android:layout_
android:layout_gravity="center"
android:layout_marginTop="40dp"
android:layout_marginBottom="10dp"
android:background="@drawable/barcode" />
<TextView
android:layout_
android:layout_
android:layout_gravity="center"
android:fontFamily="@font/antic"
android:text="Tap to Scan"
android:textSize="18sp" />
</LinearLayout>
<LinearLayout
android:layout_
android:layout_
android:layout_gravity="bottom"
android:background="@color/colorPrimaryDark"
android:orientation="horizontal">
<RelativeLayout
android:layout_
android:layout_ />
</LinearLayout>
</FrameLayout>
【讨论】:
【参考方案3】:以下方法将帮助您实现零重叠的设计规范。基本上,有四个关键步骤:
将根布局更改为 RelativeLayout。
在 RelativeLayout 中,添加一个 LinearLayout,其中包含您的 Button 和您的 TextView。
在同一个 RelativeLayout 中,添加您要固定到屏幕底部的 LinearLayout。
确保您使用 android:layout_above=""
属性将第一个 LinearLayout 设置在第二个之上。
现在,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:layout_
android:layout_
tools:context=".MainPage">
<LinearLayout
android:layout_
android:layout_
android:orientation="vertical"
android:background="#ffffff"
android:layout_above="@+id/bottomView">
<Button
android:id="@+id/taptoscan"
android:layout_marginTop="40dp"
android:layout_marginBottom="10dp"
android:layout_
android:layout_
android:background="@drawable/barcode"
android:layout_gravity="center"/>
<TextView
android:layout_
android:layout_
android:text="Tap to Scan"
android:fontFamily="@font/antic"
android:layout_gravity="center"
android:textSize="18sp"/>
</LinearLayout>
<!--here is the layout i want to put at the bottom of the page-->
<LinearLayout
android:layout_
android:layout_
android:id="@+id/bottomView"
android:background="@color/colorPrimaryDark"
android:orientation="horizontal"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:gravity="bottom">
<RelativeLayout
android:layout_
android:layout_>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
我希望这会有所帮助。
【讨论】:
以上是关于如何在Android Studio的活动底部制作Android xml Linearlayout?的主要内容,如果未能解决你的问题,请参考以下文章
如何在android studio 1.4的默认情况下从右侧制作导航菜单
如何根据 android studio 中的 listview 项目点击更改活动图像和文本? java 或 kotlin