我想只用兩個按鈕瀏覽我的 ListView,而不是用手指和滾動: physics: const NeverScrollableScrollPhysics(),。這是一張圖片,問題如下:

當我打開鍵盤時,它看起來像這樣:
所以我的輸入欄位在鍵盤后面被遮擋了。使用主動滾動物理,這不會發生,因為它會調整螢屏大小以使其適合。有沒有辦法將腳手架的末端移到鍵盤的末端,例如?還是一種解決方法,例如僅在鍵盤出現時才激活滾動物理?我也有一個
ScrollConfiguration(
behavior: MyBehavior(),
class MyBehavior extends ScrollBehavior {
@override
Widget buildOverscrollIndicator(
BuildContext context, Widget child, ScrollableDetails details) {
return child;
}
}
但我認為這對我的問題并不重要
uj5u.com熱心網友回復:
您可以檢查鍵盤是否像這樣打開:
//use flutter_keyboard_visibility plugin for detection
import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart';
import 'dart:async';
late StreamSubscription<bool> keyboardSubscription;
bool isKeyboardVisible = false;
@override
void initState() {
super.initState();
var keyboardVisibilityController = KeyboardVisibilityController();
// Query
print('Keyboard visibility direct query: ${keyboardVisibilityController.isVisible}');
// Subscribe
keyboardSubscription = keyboardVisibilityController.onChange.listen((bool visible) {
print('Keyboard visibility update. Is visible: $visible');
isKeyboardVisible = visible;
});
}
@override
void dispose() {
keyboardSubscription.cancel();
super.dispose();
}
對于串列視圖:
physics: !isKeyboardVisible?const NeverScrollableScrollPhysics():ClampingScrollPhysics(),
uj5u.com熱心網友回復:
將您的串列視圖包裝在 SingleChildScrollView 中,如下所示,
SingleChildScrollView(
child: ListView....
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/518259.html
標籤:安卓扑镖用户界面前端
上一篇:如何在顫動中驗證下拉欄位
