Skip to content

Repository files navigation

功能

一个支持 @Layout 指定布局的库,支持在任意 class 上使用。

集成

buildscript {
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
apply plugin: 'android-apt'
dependencies {
compile 'com.github.mzule.layoutannotation:library:1.0.3'
apt 'com.github.mzule.layoutannotation:compiler:1.0.3'
}

使用

@Layout(R.layout.activity_main)
publicclassMainActivityextendsActivity {
@OverrideprotectedvoidonCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
LayoutBinder.bind(this);
}
}
@Layout(R.layout.fragment_main)
publicclassMainFragmentextendsFragment {
@OverridepublicViewonCreateView(LayoutInflaterinflater, ViewGroupcontainer, BundlesavedInstanceState) {
returnLayoutBinder.inflate(this);
}
}

集成在 BaseActivity 和 ButterKnife 一起使用效果更佳。

publicclassBaseActivityextendsActivity {
@OverrideprotectedvoidonCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
LayoutBinder.bind(this);
ButterKnife.bind(this);
}
}

混淆配置

-keep classcom.github.mzule.layoutannotation.** { *; }

许可

Apache License 2.0

联系我

任何相关问题都可以通过以下方式联系我。

  1. 提 issue
  2. 新浪微博 http://weibo.com/mzule
  3. 邮件 "mzule".concat("4j").concat("@").concat("gmail.com")

About

@layout annotation support for arbitrary class

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages