2017-02-28 1 views
1

Flickableのために、ある種の視覚的な「エッジに対してバウンス」効果を作りたいと思います。しかし、エッジは壁のような硬いエッジなので、いつでもコンテンツをドラッグまたはフリックすることはできません。Qt QML。どのように内容がエッジに対して跳ねるが、それを超えないFlickableを持つか?

私はStopAtBoundsを設定していますが、次にリバウンドトランジションを使用できないコードがあります。

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" 
     } 
    } 
} 

あなたは赤い四角をフリックすることができますし、それが壁に当たったが、それはバウンスしません。

提案がありますか?

+0

「Flickable」は、そのようなタイプの動作に対しては行われず、カスタム動作もサポートされません。 –

+0

まだありません:https://bugreports.qt.io/browse/QTBUG-38515 – GrecKo

答えて

0

試しました boundsBehavior: Flickable.OvershootBounds

これは、flickableの境界付近にバウンスするような変化をもたらします。唯一のことは、要素がわずかに限界から外れることです。

Flickable.StopAtBoundsのように見えます。リバウンドアニメーションのない境界で要素を停止します。

+0

はい、少し外に出ています。それは私の問題です。とにかくありがとう。 –

関連する問題