滚动时始终在屏幕底部显示 LinearLayout 中的按钮
Posted
技术标签:
【中文标题】滚动时始终在屏幕底部显示 LinearLayout 中的按钮【英文标题】:Show Button in LinearLayout always on Bottom of the screen while Scrolling 【发布时间】:2015-06-05 19:57:37 【问题描述】:我有一个带有一些元素的 LinearLayout,它位于 ScrollView 中。 现在我想在屏幕底部有一个按钮(而不是在 ScrollView 的底部),它总是显示在前面,同时滚动这个布局的其余内容。我怎样才能做到这一点?
这是我的滚动视图:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:fillViewport="true"
android:background="#e2e2e2">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/bgnLayout"
android:layout_
android:layout_
android:orientation="vertical">
<include
layout="@layout/trElement"
android:layout_
android:layout_
android:layout_margin="16dp" />
<LinearLayout
android:id="@+id/stopslayout"
android:layout_
android:layout_
android:orientation="vertical"
android:layout_margin="16dp"
android:showDividers="middle"
android:divider="@drawable/divider">
</LinearLayout>
</LinearLayout>
</ScrollView>
这就是代码中我添加当前按钮的部分(始终显示在 ScrollView 的底部):
Button mpbtn = ButtonFactory.makeButton(m, R.string.openMap, R.color.AndroidBlue);
LinearLayout bgnLayout = (LinearLayout) rootView.findViewById(R.id.bgnLayout);
bgnLayout.addView(mpbtn);
感谢您的帮助。
【问题讨论】:
为什么不直接在xml底部添加按钮? 【参考方案1】:如果您可以像这样将按钮添加到 xml 中,那么当您希望在活动类中时,您可以使按钮可见和不可见。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/parentLayout"
android:layout_
android:layout_
>
<ScrollView
android:layout_
android:layout_
android:fillViewport="true"
android:background="#e2e2e2">
/////
</ScrollView>
<Button
android:layout_
android:layout_
android:layout_alignParentBottom="true"
/>
</RelativeLayout>
【讨论】:
@timon93 请接受它作为答案 你为什么大喊大叫? 这不是我的大写锁定打开的喊叫声。这只是一个提醒......非常感谢。 没问题。另一个问题:现在我的按钮总是在前面,但是当我在 ScrollView 中向下滚动时,按钮位于列表的最后一个元素上。如何在 Button 开始之前结束 ScrollView? 为此,您可以采用不同的方式,例如在滚动视图中包含 android:layout_above="button id" 或为按钮设置特定高度并在滚动视图中设置 android:layout_marginBottom="heightofbutton"。以上是关于滚动时始终在屏幕底部显示 LinearLayout 中的按钮的主要内容,如果未能解决你的问题,请参考以下文章
进入聊天屏幕时,如何在默认情况下在底部显示最近消息的位置显示对话?