android仿高德搜索抽屉,ScrollLayout:上拉滑动上滑拖出,类似高德地图百度地图抽屉拖拽效果...

ScrollLayout

Abstract 摘要

在ScrollView或者ListView里面使用ViewPager.支持手势上拉滑出,中途停顿,下滑退出页面,类似百度地图内场景抽屉拖拽效果效果

Gif 动画

c45f02011af008ee77623d33d99cc4be.png

Similar 类似使用

50655e800551f422b94e75fc96fbf62b.pnga6f7c1ecf666cbc66dc2f2909c752705.pngb7472e7507b243f5edb6f6762cd64c3e.png

Demo 下载APK体验

Usage 使用方法

Step 1

Gradle 配置

dependencies {

compile 'com.yinglan.scrolllayout:scrolllayout:1.0.2'

}

Step 2

Function and

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Qt中,可以使用QScrollArea来实现在QVBoxLayout内动态添加控件,并使其能够上下滑动而不是堆积在一页。首先,创建一个QVBoxLayout对象,并将其设置为QScrollArea的垂直布局。 ```cpp QScrollArea* scrollArea = new QScrollArea; QWidget* scrollWidget = new QWidget; QVBoxLayout* layout = new QVBoxLayout(scrollWidget); scrollArea->setWidget(scrollWidget); scrollArea->setWidgetResizable(true); // 动态添加控件 for(int i = 0; i < 控件数量; i++){ QWidget* widget = new QWidget; layout->addWidget(widget); // 为控件设置内容和属性 } scrollArea->show(); ``` 首先,我们创建一个QScrollArea对象和一个QWidget对象(scrollWidget),后者将用作QScrollArea的子部件。然后,再在scrollWidget上创建一个QVBoxLayout对象(layout)作为其窗口布局。这样,我们就可以用这个垂直布局来添加我们想要的控件。 在动态添加控件时,我们创建一个QWidget对象(widget),并将其添加到垂直布局(layout)中。在这里,你可以为控件设置内容和属性。 最后,我们将scrollWidget设置为QScrollArea的窗口部件,使用setWidgetResizable(true)使其能够自动调整大小适应窗口,并调用show()将QScrollArea显示在屏幕上。这样,我们就可以通过滚动来查看添加的控件,并且控件不会堆积在一起。 ### 回答2: 在Qt中,可以使用QScrollArea来实现在Qt VerticalLayout内动态添加控件并实现上下滑动效果,而不是堆积在一页。 首先,我们需要在UI界面中添加一个QScrollArea,并将其垂直滚动条的策略设置为"AlwaysOn",确保垂直滚动条一直显示。然后,我们将QScrollArea的属性widgetResizable设置为true,以便自动调整内部widget的大小。 接下来,在垂直滚动区内创建一个QWidget,并使用QVBoxLayout作为其布局管理器。这个QWidget将作为QScrollArea的内部widget,所有动态添加的控件都将添加到这个QWidget中。 然后,我们可以按照需要动态创建所需的控件,并使用addWidget()方法将其添加到QVBoxLayout中。在添加完所有控件后,我们还可以使用QSpacerItem来创建一个占位符,以便在需要时调整布局。 最后,将这个QWidget设置为QScrollArea的widget,这样就可以通过滚动条来上下滑动动态添加的控件了。 具体实现代码如下: // 创建滚动区 QScrollArea *scrollArea = new QScrollArea(this); scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); scrollArea->setWidgetResizable(true); // 创建内部widget和布局管理器 QWidget *scrollWidget = new QWidget(scrollArea); QVBoxLayout *scrollLayout = new QVBoxLayout(scrollWidget); // 创建并添加动态的控件到布局中 for(int i=0; i<10; i++) { QLabel *label = new QLabel(QString("Label %1").arg(i+1)); scrollLayout->addWidget(label); } // 创建一个占位符 QSpacerItem *spacer = new QSpacerItem(10, 10, QSizePolicy::Minimum, QSizePolicy::Expanding); scrollLayout->addItem(spacer); // 设置滚动区的内部widget并显示 scrollArea->setWidget(scrollWidget); scrollArea->show(); 这样,我们就可以在Qt VerticalLayout内动态添加控件,并且通过滚动条来实现上下滑动效果,避免了控件的堆积。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值