java黄油刀_黄油刀ButterKnife的使用

1.ButterKnife是一个由

2.作用:

@1通过使用@BindView 注释属性取消了findViewById 的调用更加方便

@2通过使用@OnClick和其他方法注释方法,为监听器消除匿名内部类

@3通过在字段上使用资源注释来消除资源查找。

@4在列表或数组中组合多个视图。 一次使用操作,设置器或属性操作它们

3.现在看看怎么使用它在android studio中

首先引入框架的包,两句代码:

073dbe4bf13f5641108304396472aa5b.png

compile 'com.jakewharton:butterknife:8.6.0'

annotationProcessor'com.jakewharton:butterknife-compiler:8.6.0'

@1注入框架或者说绑定框架到View或Activity中

//1.将黄油刀框架绑定到这个Activity上

ButterKnife.bind(this);

@2使用注解,进行绑定

---3取代findviewbyidw

@BindView(R.id.et)

EditText et;

@BindView(R.id.bt)

Button bt;

@BindView(R.id.bt2)

Button bt1;

@BindView(R.id.tv)

TextView tv;

---4在Fragment中使用

1 public class FancyFragment extendsFragment {

2 @Bind(R.id.button1) Button button1;3 @Bind(R.id.button2) Button button2;4

5 @Override publicView onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {6 View view = inflater.inflate(R.layout.fancy_fragment, container, false);7 ButterKnife.bind(this, view);8 //TODO Use fields...

9 returnview;10 }11

12 @Override public voidonDestroyView() {13 super.onDestroyView();14 ButterKnife.unbind(this);15 }16 }

---绑定资源和id

5.绑定资源引用和对应id资源

@BindColor(R.color.green)

ColorStateList c;

---绑定点击的View和执行的方法//3.绑定点击view和执行事件的方法R.id.bt所指控件被点击,就执行这个方法

@OnClick(R.id.bt)public voidchangeText(View vew){

String input=et.getText().toString().trim();

tv.setText(input);

}//第二个按钮被点击执行此方法

@OnClick(R.id.bt2)public voidchangeColor(View v){

tv.setTextColor(c);

}

源代码:

@1布局文件

2

3 xmlns:tools="http://schemas.android.com/tools"

4 android:id="@+id/activity_main"

5 android:layout_width="match_parent"

6 android:layout_height="match_parent"

7 android:paddingBottom="@dimen/activity_vertical_margin"

8 android:paddingLeft="@dimen/activity_horizontal_margin"

9 android:paddingRight="@dimen/activity_horizontal_margin"

10 android:paddingTop="@dimen/activity_vertical_margin"

11 tools:context="com.market.butterknife.MainActivity">

12

13

15 android:layout_width="match_parent"

16 android:layout_height="wrap_content" />

17

19 android:text="确认"

20 android:layout_below="@+id/et"

21 android:layout_marginTop="20dp"

22 android:background="@color/colorAccent"

23 android:layout_width="wrap_content"

24 android:layout_height="wrap_content" />

25

27 android:text="更换颜色"

28 android:layout_below="@+id/et"

29 android:layout_marginTop="20dp"

30 android:background="@color/colorPrimary"

31 android:layout_toRightOf="@+id/bt"

32 android:layout_marginLeft="50dp"

33 android:layout_width="wrap_content"

34 android:layout_height="wrap_content" />

35

37 android:layout_below="@+id/bt"

38 android:layout_width="match_parent"

39 android:layout_marginTop="20dp"

40 android:textSize="30sp"

41 android:layout_height="wrap_content"

42 android:text="@string/app_name" />

43

44

@2java代码:

packagecom.market.butterknife;

importandroid.app.Activity;importandroid.content.res.ColorStateList;importandroid.graphics.Color;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.TextView;importbutterknife.BindColor;importbutterknife.BindView;importbutterknife.ButterKnife;importbutterknife.OnClick;/*** 使用ButterKnife,*/

public class MainActivity extendsActivity {//2.使用黄油刀找到对应控件,绑定View

@BindView(R.id.et)

EditText et;

@BindView(R.id.bt)

Button bt;

@BindView(R.id.bt2)

Button bt1;

@BindView(R.id.tv)

TextView tv;//5.绑定资源引用和对应id资源

@BindColor(R.color.green)

ColorStateList c;

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);//1.将黄油刀框架绑定到这个Activity上

ButterKnife.bind(this);

}//3.绑定点击view和执行事件的方法R.id.bt所指控件被点击,就执行这个方法

@OnClick(R.id.bt)public voidchangeText(View vew){

String input=et.getText().toString().trim();

tv.setText(input);

}//第二个按钮被点击执行此方法

@OnClick(R.id.bt2)public voidchangeColor(View v){

tv.setTextColor(c);

}

}

@3运行效果:

553f8e752c2597d336a7d2edd930c608.png

@4注意事项:报错,备注解的属性和方法不能为私有的和静态的

ab2e088800e54416f60676b6f61705ce.png

黄油ButterKnife)是一款Android视图的字段和方法绑定快速注解框架。它是由JakeWharton开发的,可以帮助Android开发者简化代码,省去繁琐的findViewById操作。 使用黄油可以在代码中使用注解的方式来绑定视图,避免了手动查找和绑定视图的过程,提高了开发效率。在使用黄油前,需要在build.gradle文件中添加依赖: implementation 'com.jakewharton:butterknife:10.2.3'// 添加此依赖 annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'// 添加此规则 然后,在需要使用黄油的Activity或Fragment中,可以通过注解的方式绑定视图。黄油使用的注解并不是在运行时反射的,而是在编译时生成新的class,所以对性能基本没有损失。 总的来说,黄油是一个方便易用的Android视图绑定框架,可以帮助开发者简化代码,提高开发效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Android Butterknife黄油使用方法总结](https://blog.csdn.net/donkor_/article/details/77879630)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Android(ButterKnife黄油使用详解](https://blog.csdn.net/ojbk99267710/article/details/126098708)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值