提问人:Davencode 提问时间:5/18/2021 更新时间:5/18/2021 访问量:469
在 Android Studio 上的应用中放置底部元素
Put on the bottom elements in an App on Android Studio
问:
我在 Android Studio 上的应用有问题。 我想知道如何在不破坏各种智能手机结构的情况下将布局的底部(固定位置)放在上面。我正在使用线性布局,放在底部的元素是: 编辑文本(评论区)+ 编辑文本右侧的“发送评论”按钮。谢谢。
答:
0赞
Mohit Ajwani
5/18/2021
#1
理想的方法是使用 ConstraintLayout,因为它会为你提供很多选项来执行此操作。如果线性布局高度为“匹配父级”,则使用 LinearLayout。您可以设置 的 item 属性。gravity=bottom
约束布局示例代码
<androidx.constraintlayout.widget.ConstraintLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/editText"
android:layout_width="0dp"
android:layout_height="wrap_content"
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_width="wrap_content"
android:layout_height="wrap_content"
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>
评论
0赞
Davencode
5/19/2021
ibb.co/ZfcsDYQ(使用手机测试)ibb.co/w4v01sK(在 Android Studio 上使用 AVD 测试)。我使用了约束,但我不知道问题出在哪里。
0赞
Mohit Ajwani
5/19/2021
@Davencode您能分享布局的XML吗?这将有助于理解问题。您可以编辑问题并添加代码。
0赞
Mohit Ajwani
5/19/2021
@Davencode - 我检查了你的布局,没有 constraintLayout,这是一个非常复杂、嵌套和过度设计的布局 - LinearLayout 中的 4 级 LinearLayoutCompat。他们有 2 个 recyclerViews 和其他视图。您应该查看 Android 指南,并为部分使用片段并包括布局等。另外,我检查了您提供的图像。布局中有什么问题?editText 和 Button 与页面底部对齐。你能解释一下这个问题吗?
0赞
Davencode
5/19/2021
问题是我想将 2 个元素(编辑文本和按钮)放在固定的底部位置,但是当我在手机上看到它时,我看到这两个元素更像这样 ibb.co/ZfcsDYQ .当我看到我的 AVD 经理的 ibb.co/w4v01sK 时,没有向上移动,我想要那个定位。我的问题是..为什么会发生这种事情?是关于屏幕尺寸的?我能解决这个问题吗?
0赞
Mohit Ajwani
5/19/2021
分享布局代码,我们可以尝试找出原因。
0赞
Aymeric Loos
5/18/2021
#2
也许您可以使用一个名为 ConstraintLayout 的新布局。您必须将此新布局与线性布局放在同一级别,并且不会破坏您的工作。
评论