【发布时间】:2018-12-16 07:33:44
【问题描述】:
我有一个允许用户拖动比例以选择值的小部件,类似于基本的 Slider 小部件,但“反转”即值滑块位置是固定的,您可以在后台移动比例来调整值。
比例应该是无限的/无限的,我想我可以使用一个小图像+ImageRepeat.repeatX。但它似乎只缩放到最初可见的屏幕,而不是实际的父宽度。
有没有办法强制它填充整个父母宽度或在translate 之后更新?
小例子:
import 'package:flutter/material.dart';
class SliderTest extends StatefulWidget {
@override
_SliderTestState createState() => _SliderTestState();
}
class _SliderTestState extends State<SliderTest> {
double foo = 100.0;
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text('SliderTest'),
),
body: new Builder(builder: (context) {
return new Center(
child: new Column(
children: <Widget>[
new Text("$foo"),
new GestureDetector(
onHorizontalDragUpdate: (v) { setState(() { foo += v.primaryDelta; }); },
child: new Container(
width: 5000.0,
height: 80.0,
color: Colors.green,
child: new Transform.translate(
offset: new Offset(foo, 0.0),
child: new Image.network('http://4d94o75ofvdkz8tr3396n8cn.wpengine.netdna-cdn.com/wp-content/uploads/Scale_4x.jpg', repeat: ImageRepeat.repeatX,)
)
)
)
],
),
);
})
);
}
}
父Container 显然足够宽,如绿色背景颜色所见,但转换后的图像仅缩放到初始屏幕宽度而不会超出。
有没有办法在不使用巨大的图像文件的情况下解决这个问题?
【问题讨论】:
标签: flutter