android – 滚动文本上方的按钮,按钮固定在底部

我在 Android应用程序中难以获得我想要的GUI布局结果.

简要描述我想要的:

GUI包含两个TextView和四个按钮.

四个按钮将水平布置,全部在同一行中,并固定在屏幕的右下角.

两个TextView中的第一个是从屏幕顶部开始,文本内容从一行到数十行不同,而不会滚动屏幕.因此,有时需要滚动以查看所有内容.即使需要滚动,按钮也不会参与滚动:它们始终保持固定在屏幕右下角的一行中.当需要滚动时,滚动文本始终位于按钮之上 – 按钮不覆盖文本.

两个TextView中的第二个将立即显示在第一个TextView的下方,通常只能在文本的总长度上添加一行或两行.当需要滚动时,第二个TextView将与第一个TextView一起滚动,始终显示在第一个TextView的正下方.

其他约束包括:我希望布局在所有以下Android设备上看起来都不错,包括垂直和水平屏幕布局:

> Android 1.5 API3 QVGA MDPI(320×240)设备
> Android 1.5 API3 HVGA MDPI设备
> Android 1.6 API4 QVGA LDPI设备
> Android 2.3 API10 WVGA800设备
>所有与上述设备之间的屏幕

我会再担心平板电脑(如明天).

我已经尝试了很多不同的布局组合,但没有任何事情已经非常接近目标.

(有了我尝试的一些布局组合,我可以用RelativeLayout修复屏幕左下角的按钮,但是我尝试使用scolling文本的所有东西总是导致按钮后面的文本滚动 – 按钮覆盖文本.我没有想到让按钮与右下角对齐.)

如果有人帮我解决这个问题,下面的布局示例xml是一个会话开始点,但是肯定无法实现目标结果,如下面的屏幕截图所示,使用相同的布局示例xml生成. (虽然一些屏幕截图显示同样的问题,但是它们可以帮助我显示不同屏幕的位置.)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Text View 1.  Text varies from a few lines to many more lines than what fits on the screen.  Scrolling is necessary to see it all." />
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Text View 2.  Short text entry sits below Text View 1." />
        </LinearLayout>
    </ScrollView>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <Button
            android:id="@+id/button_1"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 1" />
        <Button
            android:id="@+id/button_2"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 2" />
        <Button
            android:id="@+id/button_3"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 3" />
        <Button
            android:id="@+id/button_4"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 4" />
    </LinearLayout>
</LinearLayout>

1.5_API3_HVGA_Horizo​​ntal_MDPI – short_text:

问题:按钮应与屏幕右下方对齐.

1.5_API3_HVGA_Vertical_MDPI – short_text:

问题:按钮应与屏幕右下方对齐.

1.5_API3_QVGA_240x320_MDPI – short_text:

问题:第四个按钮被砸了.首选三个按钮的文字需要包装,留下足够的空间显示第4个按钮.

1.5_API3_QVGA_320x240_MDPI – short_text:

问题:按钮应与屏幕右下方对齐.

1.6_API4_QVGA_Horizo​​ntal_LDPI – long_text:

问题:当文本几乎填满屏幕时,该行的按钮被破坏.按钮的一行不应该被砸碎,应该被固定在屏幕的右下方.文本应该滚动按钮上方.

1.6_API4_QVGA_Horizo​​ntal_LDPI – short_text:

问题:按钮应与屏幕右下方对齐.

1.6_API4_QVGA_Horizo​​ntal_LDPI – very_long_text,scrollbar在顶部:

问题:按钮不在屏幕上.它们应该固定在屏幕的右下角.

1.6_API4_QVGA_Horizo​​ntal_LDPI – very_long_text,底部的滚动条:

问题:按钮无法找到,尽管文本滚动条位于底部.它们应该固定在屏幕的右下角.

1.6_API4_QVGA_Vertical_LDPI – short_text:

问题:按钮应与屏幕右下方对齐.

任何建议?

附加信息:当我尝试使用RelativeLayout,并修复屏幕底部的按钮与android:layout_alignParentBottom =“true”,那么我的问题是,我不知道如何修复滚动视图的底部与按钮顶部.使用android:layout_alignBottom =“@ id / buttons”只是将滚动视图的底部与按钮的底部对齐,但是这些按钮覆盖文本,如下所示:

更新:将按钮固定到右下方的问题,按钮上方的滚动文本已解决.

这是改变的布局XML,到目前为止(粘贴更多的文本到文本视图1,如果你想看到滚动):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Text View 1.  Text varies from a few lines to many more lines than what fits on the screen.  Scrolling is necessary to see it all." />
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Text View 2.  Short text entry sits below Text View 1." />
        </LinearLayout>
    </ScrollView>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="right">
        <Button
            android:id="@+id/button_1"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 1" />
        <Button
            android:id="@+id/button_2"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 2" />
        <Button
            android:id="@+id/button_3"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 3" />
        <Button
            android:id="@+id/button_4"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:text="Button 4" />
    </LinearLayout>
</LinearLayout>

我有一个剩下的问题,我会发布一个新的问题.

解决方法

将ScrollView的layout_height设置为0dp,并将其layout_weight设置为1.这应该将按钮按到屏幕的底部,但不再进一步.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Android岛屿数量算...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Andro...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android数据压缩的方法是什么”文章能帮助大家解决疑惑...
这篇“Android怎么使用Intent传大数据”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅...
本文小编为大家详细介绍“Android事件冲突怎么解决悬浮窗拖拽问题”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android事件冲突怎么解决悬浮窗拖拽问题”文...
这篇文章主要介绍了Android拼接如何实现动态对象的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android拼接如何实现动态对象文...
今天小编给大家分享一下Android全面屏适配怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下...
本篇内容介绍了“Android怎么开发Input系统触摸事件分发”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何...
今天小编给大家分享一下AndroidRoom怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下...
本文小编为大家详细介绍“AndroidRoom使用方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“AndroidRoom使用方法有哪些”文章能帮助大家...
这篇文章主要介绍“Android中的OpenGL怎么配置使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Android中的Open...
这篇文章主要介绍了Android如何自定义自动识别涂鸦工具类的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android如何自定义自动...
今天小编给大家分享一下Android如何自定义有限制区域的图例角度自识别涂鸦工具类的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以...
今天小编给大家分享一下ReactNative错误采集原理在Android中如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章...
这篇文章主要讲解了“Android崩溃日志收集和保存代码分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“A...
这篇“Android面向单Activity开发实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大...
本篇内容介绍了“Android应用启动白屏处理的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何...