[英]Flutter "complex" UI design for Dragable Container over another Container
我正在嘗試解決我對flutter
的想法的UI
問題,但我不知道如何去做。
基本上,我在想象一種覆蓋一半屏幕並且可以向上拖動的容器,所以覆蓋后面的信息以顯示這個可拖動容器隱藏的更多信息,如下圖所示。
我曾嘗試使用showModalBottomSheet解決方案,如此處所示,但它不符合我的想法的要求,主要是因為它在屏幕的一部分中不可見,而且當它從屏幕底部開始時它隱藏了菜單欄的圖標,再加上因為它是一個模態,所以它下面的容器完全變暗,看起來不太好,它只會給人一種錯覺,它在它上面一點。
它不一定要覆蓋它下面的容器的所有內容 go 直到一個限制,我知道這是一個懸而未決的問題但是我不知道如何在 flutter 中獲得這個想法,因為我沒有什么經驗,我會如果有人能告訴我如何解決這個問題,我將不勝感激。
DraggableScrollableSheet
似乎是你想要的,值得注意的是,這個小部件不必與showModalBottomSheet
一起使用。 根據您的需要,您可以設置minChildSize
屬性來指定最小高度,例如0.5
表示總高度的50%
。
例如:
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(home: MyHome()));
}
class MyHome extends StatelessWidget {
const MyHome({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('DraggableScrollableSheet'),
),
body: DraggableScrollableSheet(
initialChildSize: 0.5,
minChildSize: 0.5,
maxChildSize: 1,
builder: (context, ScrollController controller) {
return Container(
color: Colors.grey,
child: ListView.builder(
controller: controller,
itemBuilder: (_, index) => Center(child: Text('$index')),
),
);
},
),
);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.