在 Android Studio 上的 App 中放置底部元素

Posted

技术标签:

【中文标题】在 Android Studio 上的 App 中放置底部元素【英文标题】:Put on the bottom elements in an App on Android Studio 【发布时间】:2021-08-07 19:13:10 【问题描述】:

我在 android Studio 上的应用有问题。 我想知道如何在不破坏各种智能手机结构的情况下将布局放在底部(固定位置)。我正在使用线性布局,放在底部的元素是: 编辑文本(cmets 区域)+ 编辑文本右侧的“发送评论”按钮。谢谢。

【问题讨论】:

发布您的布局 pastebin.com/NaiSVz3D 【参考方案1】:

理想的方法是使用 ConstraintLayout,因为它会为您提供很多选择。如果线性布局高度与父级匹配,则使用 LinearLayout。可以设置gravity=bottom的item属性。

约束布局示例代码

<androidx.constraintlayout.widget.ConstraintLayout
    android:orientation="vertical"
    android:layout_
    android:layout_>

    <EditText
        android:id="@+id/editText"
        android:layout_
        android:layout_
        android:layout_marginStart="16dp"
        android:layout_marginTop="16dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="16dp"
        android:background="@drawable/bg_input"
        android:hint="Taper votre message"
        android:padding="16dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/button"
        app:layout_constraintStart_toStartOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_
        android:layout_
        android:layout_marginEnd="16dp"
        android:background="@drawable/bg_button"
        android:text="Send"
        android:textColor="@android:color/white"
        app:layout_constraintBottom_toBottomOf="@+id/editText"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="@+id/editText" />
</androidx.constraintlayout.widget.ConstraintLayout>

【讨论】:

ibb.co/ZfcsDYQ(用我的手机测试)ibb.co/w4v01sK(用 Android Studio 上的 AVD 测试)。我使用了约束,但我不知道问题是什么.. @Davencode 你能分享一下布局的xml吗?这将有助于理解问题。您可以编辑您的问题并添加代码。 @Davencode - 我检查了你的布局,没有约束布局,它是一个非常复杂、嵌套和过度设计的布局 - LinearLayout 中有 4 级 LinearLayoutCompat。他们有 2 个 recyclerViews 和其他视图。您应该检查 Android 指南,并为部分使用片段并包含布局等。此外,我检查了您提供的图像。布局中的问题是什么? editText 和 Button 与页面底部对齐。你能解释一下这个问题吗? 问题是我想把两个元素(编辑文本和按钮)放在一个固定的底部位置,但是当我在手机上看到这两个元素时,我看到这两个元素更像这样@987654323 @ .当我在我的 AVD 经理上看到ibb.co/w4v01sK 时,没有向上移动,我想要那个定位。我的问题是..为什么会发生这种情况?和屏幕大小有关吗?我能解决这个问题吗? 分享版面代码,我们可以试试找原因。【参考方案2】:

也许您可以使用名为 ConstraintLayout 的新布局。你必须把这个新布局和你的线性布局放在同一层级,它不会破坏你的工作。

【讨论】:

以上是关于在 Android Studio 上的 App 中放置底部元素的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio App未经许可或按钮发送图像

Android studio蓝牙app的串口是啥

Android Studio 中的 Flutter App 不会通过热重载或热重启在虚拟设备上更新

用android studio怎么做app

Android Studio + Esp32Cam 实现手机APP实时传输监控视频

如何用android studio做一个安卓app