美文网首页
idea Live Templates

idea Live Templates

作者: WangKiven | 来源:发表于2018-12-06 16:14 被阅读15次
  • recycleradapter: 快速创建RecyclerView.Adapter
// 依赖 
private inner class $classa$(v: android.view.View) :RecyclerView.ViewHolder(v){
    private lateinit var data:$classb$
    fun bindData(data: $classb$){
        this.data = data
    }
}
private inner class MyAdapter:android.support.v7.widget.RecyclerView.Adapter<$classa$>() {
    override fun onBindViewHolder(holder: $classa$, position: Int) {
        //holder.bindData()
    }

    override fun getItemCount(): Int = 0

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): $classa$
                = $classa$(LayoutInflater.from(mActivity).inflate(R.layout.item_$rlid$, parent, false))
}
  • recycleradapter:快速创建通用RecyclerView.Adapter
private inner class MyAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
    override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
        holder.itemView.apply {

        }
    }

    override fun getItemCount(): Int = 0

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder =
         object : RecyclerView.ViewHolder(LayoutInflater.from(mActivity).inflate(R.layout.item_$rlid$, parent, false)) {}
}
  • flutter的Widget创建(StatelessWidget和StatefulWidget, 参考命名newstatelesswidge,newstatefullwidget)
// StatelessWidget 
class $NewWidget$ extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
      appBar: AppBar(
        title: Text('$title$'),
        centerTitle: true,
      ),
      body: Center(child: Text('Hello fultter !'),),
    );
  }
}

// StatefulWidget
class $WidgetPage$ extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return _$WidgetPage$State();
  }
}
class _$WidgetPage$State extends State<$WidgetPage$> {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
      appBar: AppBar(
        title: Text('$title$'),
        centerTitle: true,
      ),
      body: Center(child: Text('Hello fultter !'),),
    );
  }
}
  • logii
Log.i("ULog_default", $ts$)
  • flutter简单ListView的Demo生成(returnlistdemo)
var items = {
  '简单数据存储': () {},
  '文件访问': () {},
  '数据缓存和数据共享': () {},
};

return Scaffold(
  appBar: AppBar(
    title: Text('$title$'),
  ),
  body: ListView.separated(
    itemBuilder: (context, position) {
      var item = items.entries.elementAt(position);
      return ListTile(
        title: Text(item.key),
        onTap: item.value,
      );
    },
    itemCount: items.length,
    separatorBuilder: (context, position) => Divider(
      height: 1,
    ),
  ),
);
  • flutter 创建TabView界面(newstatetabviewwidget)
class $ScopedModeDemoPage$ extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return _$ScopedModeDemoPage$State();
  }
}
class _$ScopedModeDemoPage$State extends State<$ScopedModeDemoPage$> with SingleTickerProviderStateMixin {
  var _tabctr;
  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    _tabctr = TabController(length: 2, vsync: this);
  }
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
      appBar: AppBar(
        title: Text('$tabTitle$'),
        bottom: TabBar(tabs: [
          Tab(text: 'item1',),
          Tab(text: 'item2',),
        ], controller: _tabctr,),
      ),
      body: TabBarView(children: [
        Center(child: Text('item1'),),
        Center(child: Text('item2'),)
      ], controller: _tabctr,),
    );
  }
}
  • flutter 创建FutureBuilder界面(newstatefullfuturebuilder)
class $PageName$ extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return _$PageName$State();
  }
}

class _$PageName$State extends State<$PageName$> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('$title$'),
        centerTitle: true,
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          setState(() {});
        },
        child: Icon(Icons.add),
      ),
      body: FutureBuilder(
        builder: (context, snapshot) {
          switch (snapshot.connectionState) {
            case ConnectionState.none:
              return Center(
                child: Text('none(${snapshot.data}) 未设置可执行的future方法'),
              );
            case ConnectionState.waiting:
              return Center(
                child: Text('waiting(${snapshot.data}) 正在执行'),
              );
            case ConnectionState.active:
              return Center(
                child: Text('active(${snapshot.data}) 有返回数据,但是并没有完成操作。比如Stream已传递数据,但是还在等待返回更多数据'),
              );
            case ConnectionState.done:
              return Center(
                child: Text('done(${snapshot.data}) 执行完成'),
              );
            default:
              return Center(
                child: Text('default '),
              );
          }
        },
        future: _getData(),
        initialData: 'b',// 初始默认返回的数据,之后snapshot会缓存最新得到的数据
      ),
    );
  }

  Future<String> _getData() async {
    await Future.delayed(Duration(seconds: 2));
    return 'a';
  }
}

相关文章

网友评论

      本文标题:idea Live Templates

      本文链接:https://www.haomeiwen.com/subject/agipwxtx.html