ButterKnife注入注解框架用法


Android 依賴注入 ButterKnife 基本使用 - 漸行漸遠漸無聲 - 博客園
http://www.cnblogs.com/fansen/p/5653887.html

ButterKnife使用詳解 - ITjianghuxiaoxiong的專欄 - 博客頻道 - CSDN.NET
http://blog.csdn.net/itjianghuxiaoxiong/article/details/50177549

JakeWharton/butterknife: Bind Android views and callbacks to fields and methods.
https://github.com/JakeWharton/butterknife

avast/android-butterknife-zelezny: Android Studio plug-in for generating ButterKnife injections from selected layout XML.
https://github.com/avast/android-butterknife-zelezny

 

Sample Code:

public class MainActivity extends AppCompatActivity {

    @BindView(R.id.edit_name)
    EditText userName;

    @BindView(R.id.edit_pass)
    EditText password;

    @BindView(R.id.tv_hint)
    TextView hintTxt;

    @BindView(R.id.btn_confirm)
    Button confirmBtn;

    @BindView(R.id.checkbox)
    CheckBox checkBox;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
        setContentView(R.layout.mylayout);
        ButterKnife.bind(this);

    }

    @OnClick(R.id.btn_confirm)
    public void onClick() {  // or submit() ...
        Toast.makeText(this, "信息提交中!", Toast.LENGTH_SHORT).show();
        if ( TextUtils.isEmpty(userName.getText()) || TextUtils.isEmpty(password.getText()) ) {
            hintTxt.setText("用戶名或密碼為空");
            hintTxt.setTextColor(Color.RED);
            hintTxt.setVisibility(View.VISIBLE);
        }
    }

//    onCheckedChanged impl method 1
    @OnCheckedChanged(R.id.checkbox)
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (isChecked) {
            //選擇狀態 顯示明文--設置為可見的密碼
            password.setTransformationMethod(
                    HideReturnsTransformationMethod.getInstance() );
        } else {
            //默認狀態顯示密碼為不可見的黑點
            password.setTransformationMethod(
                    PasswordTransformationMethod.getInstance() );
        }
    }

    //    onCheckedChanged impl method 2
    public void onCheckedChanged2(CompoundButton buttonView, boolean isChecked) {
        if (isChecked) {
            //選擇狀態 顯示明文--設置為可見的密碼
            password.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
        } else {
            //默認狀態顯示密碼為不可見的黑點
            password.setInputType(InputType.TYPE_CLASS_TEXT |
                    InputType.TYPE_TEXT_VARIATION_PASSWORD);
        }
    }

}

 

 

Zelezny插件的使用

在AndroidStudio->File->Settings->Plugins->搜索Zelezny下載添加就行 ,可以快速生成對應組件的實例對象,不用手動寫。使用時,在要導入注解的Activity 或 Fragment 或 ViewHolder的layout資源代碼上,右鍵——>Generate——Generate ButterKnife Injections,然后就出現如圖的選擇框。(此動態圖來自官網)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM