【问题标题】:Android: ScrollView IssueAndroid:滚动视图问题
【发布时间】:2011-01-03 05:56:57
【问题描述】:

我在使用 ScrollViews 时遇到了很多问题。最近我尝试创建一个内容超过屏幕大小的 LinearView,因此我使用父元素 ScrollView 创建了新布局,并将其宽度和高度设置为自定义值(布局必须显示为对话框 - 不填满整个屏幕)。

当元素被选中时,红色边框似乎包含了预定义的 ScrollView LayoutWidth 和 LayoutHeight 的矩形,这是可以的。然后我放置在 LinearView 中并将值 LayoutWidth 和 LayoutHeight 设置为 fill_parent。

然后,当我开始将元素添加到 LinearLayout 中时,边框(红色)包裹了插入的元素,而不是整个父 ScrollView。

因此,当 LinearLayout(ScrollView 的子项)的内容超过父 ScrollView 的大小时,滚动不会出现,并且底部元素根本不可见。

无论如何.. 在那种情况下,XML 内容过于广泛,无法在此处发布问题,现在我在更简单的示例中遇到了同样的问题。

布局的以下部分旨在成为可滚动的 EditText(以防用户输入超出小部件的主要大小)。我想将 EditText 高度设置为 120px,所以我将父 ScrollView 高度设置为 120px,将子 EditText 设置为 fill_parent。同样在这种情况下,EditText 不会填充整个 ScrollView 区域,而是填充一行:

 <ScrollView android:layout_height="120px" android:layout_width="fill_parent">
<EditText android:id="@+id/txtContent" android:layout_height="fill_parent" android:layout_width="fill_parent" android:text="TestContent">
</EditText>
</ScrollView>

有谁知道如何重塑上面的内容,以便 EditText 填充父控件,以防用户的输入超出控件大小,滚动出现?

谢谢!

编辑:

以下是布局截图

删除了无效的 ImageShack 链接
删除了无效的 ImageShack 链接

【问题讨论】:

    标签: android layout scrollview


    【解决方案1】:

    您的 EditText 的高度应为 wrap_contentfill_parentScrollView 中没有任何意义。如果您希望EditText 在其内容小于ScrollView 时填充您的ScrollView,请在ScrollView 上使用android:fillViewport="true"

    【讨论】:

    • 但是ScrollView 拥有android:fillViewport="true" 给我带来了奇怪的麻烦。在片段中有一个滚动视图,其中有一个表格布局,在运行时动态创建了表格行。之后,如果广告横幅被加载并且 i make 可见,那么由于片段大小的变化,我的子表行会消失。如果我将 fillViewPort 设置为 false,则不会发生这种情况!
    【解决方案2】:

    是的,正如 Romain 所说,滚动视图需要跟随组合。

    1. 用于滚动视图android:fillViewport="true"
    2. 对于 ScrollView 的子级android:layout_height="wrap_content"

    【讨论】:

    • 是的。当我将其设置为 fill_parent 时,有时会出现奇怪的行为。
    • 我也做了同样的事情,但是我无法滚动?你能帮我弄清楚可能是什么问题吗??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    • 2011-02-26
    相关资源
    最近更新 更多