butterknife @OnClick的简单使用流程

 butterknife:使用起来比较容易,代码可读性强(大概记一下流程,下次忘记可以直接打开博客)
第一步:配置依赖 全局的 build.gradle(app)加上如下:

dependencies { 

implementation 'com.jakewharton:butterknife:10.2.1'

}

 

  第二步:在需要使用的activtity类

onCreatea方法里加上:

ButterKnife.bind(this);

  第三步:使用注释@OnClick({R.id.[android:id的值]})  

例如:如下id为say_control

<ImageView
    android:visibility="gone"
    android:id="@+id/say_control"
    android:src="@drawable/images_said"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_marginStart="100dp"
    android:layout_marginTop="450dp"/>

copy一段项目里的代码:


    @OnClick({R.id.image_control, R.id.image_say, R.id.image_playback, 
    R.id.ptz_top_btn,R.id.ptz_bottom_btn,R.id.ptz_left_btn,R.id.ptz_right_btn})
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.image_control:
                if (parts.isOnline2()){
                    if (ptz_control.getVisibility() == View.GONE){
                        ptz_control.setVisibility(View.VISIBLE);
                    }
                } else {
                    runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(getApplicationContext(), "摄像头不在线无法操作!", Toast.LENGTH_SHORT).show();
                        }
                    });
                }
                break;
            case R.id.ptz_top_btn:
                linearLayoutControl.setBackground(this.getResources().getDrawable(R.drawable.ptz_bottom_sel));
                sendForCameraControl("1001");
                break;
            case R.id.ptz_bottom_btn:
                sendForCameraControl("1");
                linearLayoutControl.setBackground(this.getResources().getDrawable(R.drawable.ptz_bottom_sel));
                break;
            case R.id.ptz_left_btn:
                sendForCameraControl("2");
                linearLayoutControl.setBackground(this.getResources().getDrawable(R.drawable.ptz_left_sel));
                break;
            case R.id.ptz_right_btn:
                sendForCameraControl("3");
                linearLayoutControl.setBackground(this.getResources().getDrawable(R.drawable.ptz_right_sel));
                break;
            case R.id.image_playback:
                break;
            default:
                linearLayoutControl.setBackground(this.getResources().getDrawable(R.drawable.ptz_bg));
                break;
        }
    }

之前是使用自带的OnClickListener:

步骤一:需要使用的Acitivity 实现 (implements) View.OnClickListener

步骤二:

 被点击对象绑定点击事件   

webView.setOnClickListener(this);
@Override
public void onClick(View v) {
    //逻辑代码
}

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值