gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:26:21 27 4
gpt4 key购买 nike

我在Android应用程序中无法获得想要的GUI布局结果。

对我想要的内容的简短描述:

GUI将包括两个TextView和四个Button。

四个按钮应水平放置,全部位于同一行,并固定在屏幕的右下角。

两个TextView中的第一个是从屏幕顶部开始的,文本内容从一行到几十行不等-超过了无需滚动即可在屏幕上显示的内容。因此,有时需要滚动才能查看所有内容。即使需要滚动,按钮也不应参与滚动:它们必须始终固定在屏幕右下角的一行中。当需要滚动时,滚动文本应始终位于按钮上方-按钮不得覆盖文本。

两个TextView中的第二个将立即出现在第一个TextView的下面,并且通常只会在文本的总长度上添加一行或两行。当需要滚动时,第二个TextView将与第一个TextView一起滚动,并始终出现在第一个TextView的正下方。

其他限制包括,我希望布局在垂直屏幕和水平屏幕布局中在以下所有Android设备上看起来都像样:

  • Android 1.5 API3 QVGA MDPI(320x240)设备
  • Android 1.5 API3 HVGA MDPI设备
  • Android 1.6 API4 QVGA LDPI设备
  • Android 2.3 API10 WVGA800设备
  • 在上述设备之间显示屏幕的所有内容

  • 我会担心平板电脑改天(例如明天)。

    --

    我已经尝试了许多不同的Layouts组合,但是还没有达到目标的目标。

    (通过我尝试的某些布局组合,我可以使用RelativeLayout修复屏幕左下角的按钮,但是我尝试使用乱七八糟的文本时,总是会导致文本在按钮后面滚动-按钮覆盖了文本。我还没弄清楚让按钮与右下角对齐。)

    如果有人愿意帮助我解决这个问题,那么下面的布局示例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-短文本:

    问题:按钮应与屏幕的右下角对齐。

    --

    1.5_API3_HVGA_Vertical_MDPI-短文本:

    问题:按钮应与屏幕的右下角对齐。

    --

    1.5_API3_QVGA_240x320_MDPI-短文本:

    问题:第四个按钮被砸了。如有必要,请在前三个按钮上使用文本进行自动换行,留出足够的空间来显示第四个按钮。

    --

    1.5_API3_QVGA_320x240_MDPI-短文本:

    问题:按钮应与屏幕的右下角对齐。

    --

    1.6_API4_QVGA_Horizo​​ntal_LDPI-长文本:

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

    --

    1.6_API4_QVGA_Horizo​​ntal_LDPI-短文本:

    问题:按钮应与屏幕的右下角对齐。

    --

    1.6_API4_QVGA_Horizo​​ntal_LDPI-very_long_text,顶部滚动条:

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

    --

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

    问题:尽管文本滚动条位于底部,但在何处都找不到这些按钮。它们应该固定在屏幕的右下角。

    --

    1.6_API4_QVGA_Vertical_LDPI-短文本:

    问题:按钮应与屏幕的右下角对齐。

    --

    有什么建议吗?

    --

    附加信息:当我尝试使用RelativeLayout并使用 android:layout_alignParentBottom="true"固定屏幕底部的按钮时,我的问题是我不知道如何使用按钮顶部固定滚动 View 的底部。使用 android:layout_alignBottom="@id/buttons"只是将滚动 View 的底部与按钮的底部对齐,但随后按钮将覆盖文本,如下所示:

    --

    更新:解决了将按钮固定在右下角以及按钮上方的滚动文本的问题。

    到目前为止,这是经过更改的布局XML,它可以正常工作(如果想查看滚动,请在文本 View 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。这应该将按钮推到屏幕底部,但不要再推。

    关于android - 在按钮上方滚动文本,底部固定按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5447554/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com