悄悄精通 RecyclerView,flutter瀑布流布局加载更多

然后,创建一个类,名字为 Datasource,并且可以接收一个 Context 类型的参数。创建一个叫做 getFlowerList() 的函数,它负责返回花的名称列表。

class Datasource(val context: Context) {

fun getFlowerList(): Array {

return context.resources.getStringArray(R.array.flower_array)

}

}

在 MainActivity.onCreate() 中,创建一个变量叫做 flowerList,然后将 getFlowerList() 的返回结果赋给它。

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

val flowerList = Datasource(this).getFlowerList()

}

RecyclerView 布局


接下来,在 activity_main 布局文件中将 TextView 替换为 RecyclerView,并且将其 layoutManager 设置为 LinearLayoutManager。使用 LinearLayoutManager 意味着未来数据将以纵向列表或者横向列表的形式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flutter中可以使用`StaggeredGridView`来实现瀑布布局。`StaggeredGridView`是一个可以根据内容动态调整大小的网格布局。下面是一个简单的示例代码: 首先,需要在`pubspec.yaml`文件中添`flutter_staggered_grid_view`依赖: ```yaml dependencies: flutter: sdk: flutter flutter_staggered_grid_view: ^0.4.0 ``` 然后,在Dart文件中导入依赖: ```dart import 'package:flutter/material.dart'; import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; ``` 接下来,可以使用`StaggeredGridView.countBuilder`构建瀑布布局: ```dart class MyStaggeredGridView extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Staggered Grid View'), ), body: StaggeredGridView.countBuilder( crossAxisCount: 4, // 列数 itemCount: 20, // 子项数量 itemBuilder: (BuildContext context, int index) => Container( color: Colors.blueGrey, child: Center( child: CircleAvatar( backgroundColor: Colors.white, child: Text('$index'), ), ), ), staggeredTileBuilder: (int index) => StaggeredTile.count(2, index.isEven ? 2 : 1), // 控制子项的大小 mainAxisSpacing: 4.0, // 主轴间距 crossAxisSpacing: 4.0, // 横轴间距 ), ); } } ``` 在上面的示例中,`StaggeredTile.count`用于控制子项的大小,通过判断`index`的奇偶性来实现交错布局。`mainAxisSpacing`和`crossAxisSpacing`用于设置主轴和横轴的间距。 这只是一个简单的示例,你可以根据自己的需求进行多的定制和样式修改。希望对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值