Merge branch 'main' of https://github.com/zhuzichu520/FluentUI
commit
47597471dd
|
@ -9,13 +9,11 @@ FluScrollablePage{
|
||||||
|
|
||||||
title:"Carousel"
|
title:"Carousel"
|
||||||
|
|
||||||
|
|
||||||
FluArea{
|
FluArea{
|
||||||
width: parent.width
|
width: parent.width
|
||||||
height: 370
|
height: 370
|
||||||
paddings: 10
|
paddings: 10
|
||||||
Layout.topMargin: 20
|
Layout.topMargin: 20
|
||||||
|
|
||||||
Column{
|
Column{
|
||||||
spacing: 15
|
spacing: 15
|
||||||
anchors{
|
anchors{
|
||||||
|
@ -23,7 +21,6 @@ FluScrollablePage{
|
||||||
left:parent.left
|
left:parent.left
|
||||||
}
|
}
|
||||||
FluText{
|
FluText{
|
||||||
|
|
||||||
text:"轮播图,支持无限轮播,无限滑动,用ListView实现的组件"
|
text:"轮播图,支持无限轮播,无限滑动,用ListView实现的组件"
|
||||||
}
|
}
|
||||||
FluCarousel{
|
FluCarousel{
|
||||||
|
@ -33,12 +30,7 @@ FluScrollablePage{
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
carousel.setData([{url:"qrc:/res/image/banner_1.jpg"},{url:"qrc:/res/image/banner_2.jpg"},{url:"qrc:/res/image/banner_3.jpg"}])
|
carousel.setData([{url:"qrc:/res/image/banner_1.jpg"},{url:"qrc:/res/image/banner_2.jpg"},{url:"qrc:/res/image/banner_3.jpg"}])
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ FluWindow {
|
||||||
fontStyle: FluText.Title
|
fontStyle: FluText.Title
|
||||||
}
|
}
|
||||||
FluText{
|
FluText{
|
||||||
text:"v1.0.8"
|
text:"v1.0.9"
|
||||||
fontStyle: FluText.Body
|
fontStyle: FluText.Body
|
||||||
Layout.alignment: Qt.AlignBottom
|
Layout.alignment: Qt.AlignBottom
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,13 +58,6 @@ FluWindow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FluPaneItem{
|
|
||||||
title:"Menu"
|
|
||||||
onTap:{
|
|
||||||
nav_view.push("qrc:/T_Menu.qml")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
FluPaneItem{
|
FluPaneItem{
|
||||||
title:"TimePicker"
|
title:"TimePicker"
|
||||||
onTap:{
|
onTap:{
|
||||||
|
@ -123,7 +116,6 @@ FluWindow {
|
||||||
title:"Popus"
|
title:"Popus"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
FluPaneItem{
|
FluPaneItem{
|
||||||
title:"Dialog"
|
title:"Dialog"
|
||||||
onTap:{
|
onTap:{
|
||||||
|
@ -131,6 +123,13 @@ FluWindow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FluPaneItem{
|
||||||
|
title:"Menu"
|
||||||
|
onTap:{
|
||||||
|
nav_view.push("qrc:/T_Menu.qml")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
FluPaneItemHeader{
|
FluPaneItemHeader{
|
||||||
title:"Navigation"
|
title:"Navigation"
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,22 +4,17 @@ import FluentUI 1.0
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
|
|
||||||
|
|
||||||
id:control
|
|
||||||
|
|
||||||
property bool flagXChanged: true
|
property bool flagXChanged: true
|
||||||
property int radius : 5
|
property int radius : 5
|
||||||
property int loopTime: 2000
|
property int loopTime: 2000
|
||||||
property bool showIndicator: true
|
property bool showIndicator: true
|
||||||
|
|
||||||
|
id:control
|
||||||
width: 400
|
width: 400
|
||||||
height: 300
|
height: 300
|
||||||
|
|
||||||
ListModel{
|
ListModel{
|
||||||
id:content_model
|
id:content_model
|
||||||
}
|
}
|
||||||
|
|
||||||
FluRectangle{
|
FluRectangle{
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
radius: [control.radius,control.radius,control.radius,control.radius]
|
radius: [control.radius,control.radius,control.radius,control.radius]
|
||||||
|
@ -33,12 +28,14 @@ Item {
|
||||||
clip: true
|
clip: true
|
||||||
boundsBehavior: ListView.StopAtBounds
|
boundsBehavior: ListView.StopAtBounds
|
||||||
model:content_model
|
model:content_model
|
||||||
maximumFlickVelocity: 4 * (list_view.orientation ===
|
maximumFlickVelocity: 4 * (list_view.orientation === Qt.Horizontal ? width : height)
|
||||||
Qt.Horizontal ? width : height)
|
preferredHighlightBegin: 0
|
||||||
|
preferredHighlightEnd: 0
|
||||||
|
highlightMoveDuration: 0
|
||||||
|
orientation : ListView.Horizontal
|
||||||
delegate: Item{
|
delegate: Item{
|
||||||
width: ListView.view.width
|
width: ListView.view.width
|
||||||
height: ListView.view.height
|
height: ListView.view.height
|
||||||
|
|
||||||
property int displayIndex: {
|
property int displayIndex: {
|
||||||
if(index === 0)
|
if(index === 0)
|
||||||
return content_model.count-3
|
return content_model.count-3
|
||||||
|
@ -46,19 +43,12 @@ Item {
|
||||||
return 0
|
return 0
|
||||||
return index-1
|
return index-1
|
||||||
}
|
}
|
||||||
|
|
||||||
Image {
|
Image {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
source: model.url
|
source: model.url
|
||||||
fillMode:Image.PreserveAspectCrop
|
fillMode:Image.PreserveAspectCrop
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
preferredHighlightBegin: 0
|
|
||||||
preferredHighlightEnd: 0
|
|
||||||
highlightMoveDuration: 0
|
|
||||||
|
|
||||||
onMovementEnded:{
|
onMovementEnded:{
|
||||||
currentIndex = list_view.contentX/list_view.width
|
currentIndex = list_view.contentX/list_view.width
|
||||||
if(currentIndex === 0){
|
if(currentIndex === 0){
|
||||||
|
@ -69,15 +59,11 @@ Item {
|
||||||
flagXChanged = false
|
flagXChanged = false
|
||||||
timer_run.start()
|
timer_run.start()
|
||||||
}
|
}
|
||||||
|
|
||||||
onMovementStarted: {
|
onMovementStarted: {
|
||||||
flagXChanged = true
|
flagXChanged = true
|
||||||
timer_run.stop()
|
timer_run.stop()
|
||||||
}
|
}
|
||||||
|
|
||||||
onContentXChanged: {
|
onContentXChanged: {
|
||||||
|
|
||||||
|
|
||||||
if(flagXChanged){
|
if(flagXChanged){
|
||||||
var maxX = Math.min(list_view.width*(currentIndex+1),list_view.count*list_view.width)
|
var maxX = Math.min(list_view.width*(currentIndex+1),list_view.count*list_view.width)
|
||||||
var minY = Math.max(0,(list_view.width*(currentIndex-1)))
|
var minY = Math.max(0,(list_view.width*(currentIndex-1)))
|
||||||
|
@ -89,11 +75,8 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
orientation : ListView.Horizontal
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function setData(data){
|
function setData(data){
|
||||||
content_model.clear()
|
content_model.clear()
|
||||||
content_model.append(data[data.length-1])
|
content_model.append(data[data.length-1])
|
||||||
|
@ -102,7 +85,6 @@ Item {
|
||||||
list_view.currentIndex = 1
|
list_view.currentIndex = 1
|
||||||
timer_run.restart()
|
timer_run.restart()
|
||||||
}
|
}
|
||||||
|
|
||||||
Row{
|
Row{
|
||||||
spacing: 10
|
spacing: 10
|
||||||
anchors{
|
anchors{
|
||||||
|
@ -131,9 +113,6 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Timer{
|
Timer{
|
||||||
id:timer_anim
|
id:timer_anim
|
||||||
interval: 250
|
interval: 250
|
||||||
|
@ -144,7 +123,6 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Timer{
|
Timer{
|
||||||
id:timer_run
|
id:timer_run
|
||||||
interval: control.loopTime
|
interval: control.loopTime
|
||||||
|
@ -153,9 +131,6 @@ Item {
|
||||||
list_view.highlightMoveDuration = 250
|
list_view.highlightMoveDuration = 250
|
||||||
list_view.currentIndex = list_view.currentIndex+1
|
list_view.currentIndex = list_view.currentIndex+1
|
||||||
timer_anim.start()
|
timer_anim.start()
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue