如何在不丢失约束布局的情况下将视图置于可滚动视图中

时间:2018-08-29 13:38:43

标签: android layout scrollview

我已经在Google上看到了多个示例,但是在不丢失当前约束布局的情况下仍然无法获得滚动视图。我想把所有的textviews(第一个除外),textedits和按钮放在滚动视图中。有人可以解释或说明如何执行此操作吗?提前致谢!

~/.android

3 个答案:

答案 0 :(得分:2)

我不明白你的问题 这不适合你吗?

data <- data.frame(user_name = c(NA, 3, 4))

答案 1 :(得分:0)

您可以将// https://github.com/KubaO/stackoverflown/tree/master/questions/qdebug-window-output-52061269 [...] void rescrollToBottom(QAbstractScrollArea *view) { static const char kViewAtBottom[] = "viewAtBottom"; auto *scrollBar = view->verticalScrollBar(); Q_ASSERT(scrollBar); auto rescroller = [scrollBar]() mutable { if (scrollBar->property(kViewAtBottom).isNull()) scrollBar->setProperty(kViewAtBottom, true); auto const atBottom = scrollBar->property(kViewAtBottom).toBool(); if (atBottom) scrollBar->setValue(scrollBar->maximum()); }; QObject::connect(scrollBar, &QAbstractSlider::rangeChanged, view, rescroller, Qt::QueuedConnection); QObject::connect(scrollBar, &QAbstractSlider::valueChanged, view, [scrollBar] { auto const atBottom = scrollBar->value() == scrollBar->maximum(); scrollBar->setProperty(kViewAtBottom, atBottom); }); } 放在ConstraintLayout内,例如:

ScrollView

如果要将某些视图保留在滚动之外,只需将<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" /> <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" /> ... yours views ... </android.support.constraint.ConstraintLayout> </ScrollView> 包装到另一个ScrollView中,例如ViewGroup

答案 2 :(得分:0)

您好,欢迎来到StackOverFlow。我这样做的方法是使用RelativeLayout作为主要容器,而不是ConstraintLayout。 (为什么?)

因为它很容易将TextView放在ScrollView上方,而其他TextViews和EditText放在其中!

这是我的方法:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/d"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="match_parent"
        android:text="Example of the first TextView"
        android:layout_height="wrap_content"
        android:id="@+id/textView4" />
    <ScrollView
        android:layout_width="match_parent"
        android:id="@+id/scrollViewExample"
        android:layout_height="match_parent"
        android:layout_below="@+id/textView4">
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <TextView
                android:layout_width="match_parent"
                android:text="Example of the other TextViews"
                android:layout_height="wrap_content"
                android:id="@+id/textView550" />
            <TextView
                android:layout_width="match_parent"
                android:text="Example of the other TextViews"
                android:layout_height="wrap_content"
                android:id="@+id/textView540" />

        </RelativeLayout>

    </ScrollView>

</RelativeLayout>

祝你好运!