我有一個帶有一些串列圖塊的串列視圖:
return Scaffold(
body: ListView(
children: const [
ListTile(title: Text("1", textAlign: TextAlign.center,), contentPadding: EdgeInsets.all(30), tileColor: Colors.red),
ListTile(title: Text("2", textAlign: TextAlign.center,), contentPadding: EdgeInsets.all(30), tileColor: Colors.red),
ListTile(title: Text("3", textAlign: TextAlign.center,), contentPadding: EdgeInsets.all(30), tileColor: Colors.red),
ListTile(title: Text("4", textAlign: TextAlign.center,), contentPadding: EdgeInsets.all(30), tileColor: Colors.red),
ListTile(title: Text("5", textAlign: TextAlign.center,), contentPadding: EdgeInsets.all(30), tileColor: Colors.red),
ListTile(title: Text("6", textAlign: TextAlign.center,), contentPadding: EdgeInsets.all(30), tileColor: Colors.red),
ListTile(title: Text("7", textAlign: TextAlign.center,), contentPadding: EdgeInsets.all(30), tileColor: Colors.red),
ListTile(title: Text("8", textAlign: TextAlign.center,), contentPadding: EdgeInsets.all(30), tileColor: Colors.red),
ListTile(title: Text("9", textAlign: TextAlign.center,), contentPadding: EdgeInsets.all(30), tileColor: Colors.red),
],
),
);

有沒有辦法讓中間串列圖塊中的文本始終略微放大以使其顯示在焦點上?在這個例子中,4 會被放大,如果我向下滾動,5 會被放大。
這是我要達到的效果:

這不一定必須在串列圖塊中完成,我只是想重新創建將螢屏上的中間小部件放在串列視圖中的焦點的效果。
uj5u.com熱心網友回復:
有趣的是,一個名為的內置小部件ListWheelScrollView具有magnification您可以設定的屬性。此外,您可以在串列中撰寫for-loop,因此您不必像演示代碼那樣復制粘貼這 10 個專案。
例如:
ListWheelScrollView(
itemExtent: 80,
useMagnifier: true,
magnification: 1.5, // magnify the center item 1.5x
perspective: 0.00001,
children: [
for (int i = 1; i < 10; i )
ListTile(
title: Text('$i', textAlign: TextAlign.center),
contentPadding: EdgeInsets.all(30),
tileColor: Colors.red,
),
],
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/464472.html
上一篇:我如何訪問在顫動的另一個檔案中創建的textEditingController
下一篇:Flutter的執行緒系統是什么
