环境配置:
在AndroidStudio中,在
工程的build.gradle
添加:
dependencies {
compile 'com.android.support:support-annotations:23.3.0'
}
当然,如果你的项目中已经使用了V7包,就可以直接使用了
在APP的build.gradle中dependencies引用依赖:
annotationProcessor "org.androidannotations:androidannotations:4.4.0" compile "org.androidannotations:androidannotations-api:4.4.0"
到此配置OK。
使用:
1、布局文件:
<TextView android:id="@+id/textview1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" />
2、acitivity:
给acitivity指定layout。这里有两种方法:
①、在类的前面添加:@EAcitivity(@+layout id)
②、在onCreate中
setContentView(R.layout.activity_main);
这两种方法的区别:如果您想在onCreate中就使用注释方式获取view,则在获取之前就要用到第二种方法。否则它会在还未注释完成就获取view,那也就是获取到的是null。
给变量指定引用:
在变量前面用@ViewById(@+id)获取view
如下:
①、
@EActivity public class MainActivity extends AppCompatActivity { @ViewById(R.id.textview1) TextView textview1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textview1.setText("Hello annotations"); } }
②、
@EActivity(R.layout.activity_main) public class MainActivity extends AppCompatActivity { @ViewById(R.id.textview1) TextView textview1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); } @AfterViews protected void setTx(){ textview1.setText("Hello annotations"); }
3、在acitivity注册声明中name添加_,如下
<activity android:name=".MainActivity_"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>