【问题标题】:RelativeLayout not exceeding ScrollView heightRelativeLayout 不超过 ScrollView 高度
【发布时间】:2016-07-20 23:16:40
【问题描述】:

我有一个以 RelativeLayout 作为其子级的 ScrollView。这都嵌套在一个RelativeLayout中。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent"
    android:background="#2fb136">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/fpScrollView"
        android:fillViewport="true">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/fpRelativeLayout">

它的外观图片

现在,如果我向 ScrollView 添加 50dp 的边距,RelativeLayout 会匹配滚动视图的高度并切断按钮,而不是展开并允许滚动。

关于如何解决这个问题的任何想法?我希望 RelativeLayout 真正包裹到内容而不是切断它。

【问题讨论】:

  • 我想问你:你在RelativeLayout里面嵌套一个ScrollView的目的是什么?
  • 我看到这些图片是在 Android Studio 的 UI Builder 部分拍摄的。当您实际运行项目时会发生什么?我希望您实际上能够滚动,这与 Android Studio 包含的 UI Builder 不同。
  • @S.Martell 还有其他选择吗?
  • @TheAnonymous010 不幸的是,同样的问题发生了,我无法滚动:(

标签: android scrollview android-relativelayout


【解决方案1】:

我找到了解决方案。 ScrollView 中的一个视图与水平/垂直中心对齐,这在动态更改其大小的视图的上下文中没有意义。这导致 ScrollView 中的 RelativeLayout 只是保持 ScrollView 的大小而不是包装其内容。

如果您的整个布局是可滚动的,我建议您将基本布局设置为 ScrollView 而不是像上面那样使用 RelativeLayout。

【讨论】:

  • 通常 ScrollViews 和 NestedScrollViews 是顶级父级。除非它们包含在一个小片段或 ViewPager 中,否则将另一个布局作为其父级几乎没有意义。
猜你喜欢
  • 2011-04-05
  • 1970-01-01
  • 2016-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多