小编fuz*_*cal的帖子

颤动:如何使按钮扩展到它的父级大小?

我正在尝试创建方形按钮,但Expanded似乎与容器的工作方式不同.以下面的代码为例

new Expanded(
 flex: 2,
   child: new Column(
     children: <Widget>[
       new Expanded(
         child:new Row(
           children: <Widget>[
             new Expanded(child: new MaterialButton(...)),
             new Expanded(child: new MaterialButton(....)),

             new Expanded(child: new Container(color: Colors.red)),
             new Expanded(child: new Container(color: Colors.green)),
           ]
         )
       )
     ],
   )
 )

 ....
Run Code Online (Sandbox Code Playgroud)

它显示两个水平扩展但不垂直的按钮.同时,容器将水平和垂直扩展.如果我执行以下操作,则会产生相同的效果:

new Expanded(
 flex: 2,
   child: new Column(
     children: <Widget>[
       new Expanded(
         child:new Column(
           children: <Widget>[
             new Expanded(child: new MaterialButton(...)),
             new Expanded(child: new MaterialButton(....)),

             new Expanded(child: new Container(color: Colors.red)),
             new Expanded(child: new Container(color: Colors.green)),
           ]
         )
       )
     ],
   ) …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout

21
推荐指数
6
解决办法
2万
查看次数

有人可以解释这个Java代码片段是如何工作的吗?

这是片段(来自Java Generics and Collections),下面是问题:

public static <T extends Comparable<? super T>> Comparator<T> reverseOrder()
    {
        return new Comparator<T>() {
        public int compare(T o1, T o2) { return o2.compareTo(o1); }
    };
}
Run Code Online (Sandbox Code Playgroud)

正如我所遵循的那样,你有一个使用通配符的方法,它可以比较类型T和"上面".然后它返回一个新的Comparator,它在其中显然有一个方法,它使用两个类型为T的对象返回compareTo的值.所以问题:

  1. 这是在方法中定义方法吗?我以为你不能用Java做到这一点.
  2. 它返回一个方法吗?我认为你不能用Java做的事情.
  3. 我该如何使用它?本书使用了其他类似方法具有参数的示例.

这没有参数,所以o1和o2来自哪里?

java generics collections

0
推荐指数
1
解决办法
148
查看次数

标签 统计

collections ×1

flutter ×1

flutter-layout ×1

generics ×1

java ×1