我有一个小部件,它需要一个代表允许在屏幕上显示的页面的数字。如果设备较弱,bool则可以传递覆盖初始值的参数。但是,由于所有值都是最终值,因此我必须在设置值之前在构造函数中对其进行评估。
class _A extends StatefullWidget{
_A(this.limitPages,
this.pagesToDisplay: limitPages ? 10 : pagesToDisplay,
)
final int pagesToDisplay;
final bool limitPages;
}
Run Code Online (Sandbox Code Playgroud)
我可以在初始值设定项列表中声明它,但随后我无法为pagesToDisplay.
class _A extends StatefullWidget{
_A(this.limitPages)
:this.pagesToDisplay: limitPages ? 10 : pagesToDisplay
final int pagesToDisplay;
final bool limitPages;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在构造函数设置最终值之前/之前断言语句?
我只需要底部导航栏项中的标签,但我找不到删除它们的方法。
您可以使用showSelectedLabels和showUnselectedLabels设置为 false隐藏标签,但图标没有等效项。
构造函数:
BottomNavigationBar({
Key key,
@required this.items,
this.onTap,
this.currentIndex = 0,
this.elevation = 8.0,
BottomNavigationBarType type,
Color fixedColor,
this.backgroundColor,
this.iconSize = 24.0,
Color selectedItemColor,
this.unselectedItemColor,
this.selectedIconTheme = const IconThemeData(),
this.unselectedIconTheme = const IconThemeData(),
this.selectedFontSize = 14.0,
this.unselectedFontSize = 12.0,
this.selectedLabelStyle,
this.unselectedLabelStyle,
this.showSelectedLabels = true,
bool showUnselectedLabels,
})
Run Code Online (Sandbox Code Playgroud) 我几乎没有找到关于这两者之间有什么区别的信息
flutter build bundle
Run Code Online (Sandbox Code Playgroud)
flutter build appbundle
Run Code Online (Sandbox Code Playgroud)
我什么时候应该使用其中一种而不是另一种?
我有一个回收视图,我想迭代并在每个输入字符串前面添加一个项目符号点.
我有以下内容:
value.strings.xml
<string name="skill">• %1$s</string>
Run Code Online (Sandbox Code Playgroud)
ProfileListAdapter:
fun bindSkills(skill: String) {
itemView.recycleSkillItem.text = String.format(Locale(R.string.skill.toString()), ${R.string.skill}, skill)
}
Run Code Online (Sandbox Code Playgroud)
这会在没有项目符号的情况下反复打印相同的int.
在kotlin中格式化字符串的最佳做法是什么?
我有一个“ Dog”数组,我想在其中打印所有5岁以上的狗的名字。
我尝试了类似的东西
Dogs.filter{ it.age > 5 }.forEach { it.name }
Run Code Online (Sandbox Code Playgroud)
这给了我所需的值,但是如何存储并以字符串列表形式返回它呢?我尝试了诸如添加.join(“,”)之类的事情,但是由于我没有得到任何数组作为回报,因此它不起作用。
我在一栏中有图片和文字。我希望文本容器扩展到列宽,以文本为中心创建黑色边框。
这就是我现在得到的。
码。
List<Container> getMediaItem(List<Media> mediaItems) {
List<Container> mediaContainers = [];
for (Media media in mediaItems) {
mediaContainers.add(
Container(
padding: EdgeInsets.only(left: 8, right: 8, bottom: 8),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
media.image,
Container(
color: Colors.black,
padding: EdgeInsets.only(top: 8, bottom: 8),
child: Text(media.title),
)
],
),
),
);
}
return mediaContainers;
}
Run Code Online (Sandbox Code Playgroud)
如果您知道如何解决,请分享。
更新:完整代码(我试图制作一个嵌套的滚动视图以显示诸如Netflix之类的媒体项目的库):
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Live Tree',
theme: ThemeData(
brightness: Brightness.dark,
),
home: Scaffold(
appBar: AppBar(
title: Row( …Run Code Online (Sandbox Code Playgroud) 在此示例中,我想创建一个由 ItemData 参数列表填充的 ListViewTiles 的 ListView。
我想将标题图像放置为同一 ListView 的顶部小部件。
Image 必须与 ListTiles 的其余部分一起滚动。
Widget _buildListViewWithHeader(BuildContext context, Image banner, List<ItemData> items) {
return ListView.builder(
itemBuilder: (context, index) {
return ListTile(
leading: items[index].leading,
title: items[index].title,
trailing: items[index].trailing,
);
},
);
}
Run Code Online (Sandbox Code Playgroud)
如何将图像放置在此ListView 的顶部?
是否有一种通用方法将小部件列表传递给 listView 并将它们放置在项目生成器生成的小部件之前?
我设置了 firebase 云消息传递,在我的onResume()回调中,我有以下内容:
Future<void> onResume(Map<String, dynamic> message) async {
final Map<String,dynamic> data = message['data'];
final String url = data['url'];
if (url != null) {
_webViewController?.loadUrl(url);
}
}
Run Code Online (Sandbox Code Playgroud)
当函数到达时,
final Map<String,dynamic> data = message['data'];
它会过早地、静默地返回,没有警告。
如果我改为运行
final dynamic data = message['data'];
它会按预期继续。
检查message类型狂欢即message是InternalLinkedHashMap,不能太投Map<String, dynamic>。
它说_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>'。
我该怎么做呢?
如果这个问题没有踪迹,我以后如何才能找到它?
这是用kotlin编写的,但我很确定它在java中几乎是一样的.
something.setOnClickListener {
availableReportRecycler.isActivated = !availableReportRecycler.isActivated
if (availableReportRecycler.isActivated) availableReportRecycler.visibility = View.VISIBLE
else availableReportRecycler.visibility = View.GONE
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在kotlin/java中简化这段代码?
我觉得它应该能够将它减少到类似(伪代码)的东西:
something.setOnClickListener {
availableReportRecycler.visibility =
{availableReportRecycler.isActivated = !self} ? View.VISIBLE:View.GONE
}
Run Code Online (Sandbox Code Playgroud)
在没有找到任何相关的在线之后我仍然强迫所有类型的组合,但仍然无法使其工作.
你能做多么美丽?最佳答案是获得虚拟啤酒和"我没事"贴纸!
就像标题所暗示的那样,在Dart中,编译时的static,final和const有什么区别?
它们何时计算,何时为每种类型分配内存?大量使用静态变量会导致性能问题或OOM吗?