首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt QML。如何拥有一个内容与边缘反弹但不超过边缘的Flickable?

Qt QML。如何拥有一个内容与边缘反弹但不超过边缘的Flickable?
EN

Stack Overflow用户
提问于 2017-02-28 22:18:12
回答 1查看 772关注 0票数 1

我想为Flickable创建一种视觉上的“边缘反弹”效果。但是边缘是硬边,就像墙一样,所以内容在任何时候都不能被拖动或弹过它。

下面是一些代码,我在其中设置了StopAtBounds,但是我不能使用回弹传输。

代码语言:javascript
复制
import QtQuick 2.7
import QtQuick.Controls 1.4

ApplicationWindow
{
    visible: true
    width: 800
    height: 800

    Flickable
    {
        anchors.fill: parent

        contentWidth: bob.width
        contentHeight: bob.height

        rightMargin: 200
        leftMargin: 200
        topMargin: 200
        bottomMargin: 200

        // prevents bob from going outside of bounds,
        // but now cant use `rebound` transition.
        // so how to apply `Easing.OutBounce`
        boundsBehavior: Flickable.StopAtBounds

        Rectangle
        {
            id: bob
            width: 600
            height: 600
            color: "red"
        }
    }
}

你可以轻弹红色方块,它会撞到墙上,但它不会弹跳。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2017-02-28 22:43:31

你试过boundsBehavior: Flickable.OvershootBounds吗?

当接近flickable的边界时,它会给你跳跃的过渡。唯一的问题是,元素可能会稍微超出限制。

看起来Flickable.StopAtBounds确实做到了它所说的:在没有反弹动画的边界上停止元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42511136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档