一、原理。
最近发现一个很好用的开源框架,蛮不错的,可以简化你的代码,是关于注解的。不多说直接进入使用步骤讲解。
二、步骤。
1、准备阶段,先到官网( http://jakewharton.github.io/butterknife/ )上jar包,下载下来。
2、把下载下来的jar包,放到项目的libs下,就会自动导入项目了。
3、配置eclips,鼠标对准需要注解的项目,单击右键 poperties –>java Compiler –>
Annotation Procession –> 钩一下 Enable project specific settings 其它的就会自动钩上了
–> Factory Path ( 钩一下Enable project specific settings )–> 最后Add …. JARs 把刚刚下载的jar包来。这样eclips配置就可以了。
4、以下是官方讲解。
http://jakewharton.github.io/butterknife/ide-eclipse.html
5、是用注解,直接上代码。
xml部分
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/tv_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/bt_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/tv_test"
android:layout_below="@+id/tv_test"
android:layout_marginTop="23dp"
android:text="点我吧!" />
</RelativeLayout> java部分
package com.example.butterknife;
import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
@InjectView(R.id.tv_test) TextView tvTest;
@InjectView(R.id.bt_test) Button btTest;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.inject(this);
tvTest.setText("test");
}
@OnClick(R.id.tv_test)
public void sayHi() {
tvTest.setText("Click()+Hello!");
}
@OnClick(R.id.bt_test)
public void sayHi2() {
btTest.setText("已结点过了");
}
}
这样就算完成了,就可以使用注解了。
源码下载