程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了尾随小部件占用整个平铺宽度。请使用大小的小部件,或考虑用自定义小部件替换 ListTile大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决尾随小部件占用整个平铺宽度。请使用大小的小部件,或考虑用自定义小部件替换 ListTile?

开发过程中遇到尾随小部件占用整个平铺宽度。请使用大小的小部件,或考虑用自定义小部件替换 ListTile的问题如何解决?下面主要结合日常开发的经验,给出你关于尾随小部件占用整个平铺宽度。请使用大小的小部件,或考虑用自定义小部件替换 ListTile的解决方法建议,希望对你解决尾随小部件占用整个平铺宽度。请使用大小的小部件,或考虑用自定义小部件替换 ListTile有所启发或帮助;

我正在制作一个基本的购物应用程序。我的想法是制作我的产品的列表磁贴,以便我可以编辑或删除产品。所以当我导航到那个页面时,它显示了一个空白的白页,错误如图所示 Blank Screen Error

import 'package:Flutter/material.dart';

class UserProductItem extends StatelessWidget {
  final String @R_403_5979@;
  final String imageUrl;
  UserProductItem(this.@R_403_5979@,this.imageUrl);

  @overrIDe
  Widget build(BuildContext context) {
    return ListTile(
      @R_403_5979@: Text(@R_403_5979@),leading: CircleAvatar(
        backgroundImage: NetworkImage(imageUrl),),trailing: Row(
        children: [
          Iconbutton(
            icon: Icon(Icons.edit),onpressed: () {},color: theme.of(context).primarycolor,Iconbutton(
            icon: Icon(Icons.delete),color: theme.of(context).errorcolor,)
        ],);
  }
}

解决方法

来自关于 tailing 属性的文档:

/// To show right-aligned metadata (assuming left-to-right reading order;
/// left-aligned for right-to-left reading order),consider using a [Row] with
/// [CrossAxisAlignment.baseline] alignment whose first item is [Expanded] and
/// whose second child is the metadata text,instead of using the [trailing]
/// property.

如果您需要右侧有 2 个图标,我认为您不应该使用 ListTile。相反,您应该使用 Rows 实现您的自定义小部件。

编辑:

类似于:

InkWell( // Only wrap with an Inkwell if you need to add a click for the entire Row
  onTap: ...
  child: Row(
    crossAxisAlignment: CrossAxisAlignment.baseline,children: [
      CircleAvatar(...),Expanded(child: Text(title)),Row(
        children: [
          IconButton1,IconButton2,],),]
  ),)
,

我所做的是用一个容器将行(尾随:Row())包裹起来,并给它一个特定的宽度

import 'package:flutter/material.dart';

class UserProductItem extends StatelessWidget {
  final String title;
  final String imageUrl;
  UserProductItem(this.title,this.imageUrl);

  @override
  Widget build(BuildContext context) {
    return InkWell(
      child: ListTile(
        title: Text(title),leading: CircleAvatar(
          backgroundImage: NetworkImage(imageUrl),trailing: Container(
          width: 100,child: Row(
            children: [
              IconButton(
                icon: Icon(Icons.edit),onPressed: () {},color: Theme.of(context).primaryColor,IconButton(
                icon: Icon(Icons.delete),color: Theme.of(context).errorColor,)
            ],);
  }
}

大佬总结

以上是大佬教程为你收集整理的尾随小部件占用整个平铺宽度。请使用大小的小部件,或考虑用自定义小部件替换 ListTile全部内容,希望文章能够帮你解决尾随小部件占用整个平铺宽度。请使用大小的小部件,或考虑用自定义小部件替换 ListTile所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: