新UI框架-Butter Knife
来源:互联网 发布:网站流量统计软件 编辑:程序博客网 时间:2024/05/20 16:34
一、声明控件
以注释字段@InjectView和一个view的ID开始,Butter Knife就可以在对应的布局中自动地进行cast。
Butter Knife可用于Activity、Fragment或者是adapter中。
·在Activity中用法:
import butterknife.ButterKnife;import butterknife.InjectView;import butterknife.OnClick;
class ExampleActivity extends Activity { @InjectView(R.id.title) TextView title; @InjectView(R.id.subtitle) TextView subtitle; @Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.simple_activity); ButterKnife.inject(this); // TODO Use "injected" views... }}·在Fragment中用法:
public class ExampleFragment extends Fragment { @InjectView(R.id.button1) Button button1; @InjectView(R.id.button2) Button button2; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fancy_fragment, container, false); ButterKnife.inject(this, view); // TODO Use "injected" views... return view; }}·在Adapter中用法:
public class MyAdapter extends BaseAdapter { @Override public View getView(int position, View view, ViewGroup parent) { ViewHolder holder; if (view != null) { holder = (ViewHolder) view.getTag(); } else { view = inflater.inflate(R.layout.whatever, parent, false); holder = new ViewHolder(view); view.setTag(holder); } holder.name.setText("hello everyone"); // etc... return view; } static class ViewHolder { @InjectView(R.id.title) TextView name; @InjectView(R.id.job_title) TextView jobTitle; public ViewHolder(View view) { ButterKnife.inject(this, view); } }}总之,ButterKnife.inject可以用在一切findViewById能用到的地方。
Injection APIs还提供了:
·Inject的任意object用Activity作为view root。在MVC设计模式中,要在其Activity中调用ButterKnife.inject(this, activity)。
·Inject的子类视图用ButterKnife.inject(this)
.
二、声明监听
import butterknife.ButterKnife;import butterknife.InjectView;import butterknife.OnClick;
@OnClick(R.id.header) public void header(){ Intent intent = new Intent() ; intent.setClass(getActivity() , LoginActivity.class) ; startActivity(intent); }
参考:http://jakewharton.github.io/butterknife/
0 0
- 新UI框架-Butter Knife
- Android 注解框架----Butter knife
- View 注入框架 Butter Knife
- Android注解框架Butter Knife
- butter knife框架的使用
- Butter Knife框架源码解析
- Butter Knife 实用的注解框架
- 注解框架Android Butter Knife的介绍
- Butter Knife框架的基本使用
- Butter Knife
- Butter Knife
- Butter Knife
- Butter Knife
- Butter Knife
- Butter Knife
- Butter Knife
- Butter Knife
- Butter Knife
- 开始使用Nim(二)
- Kerberos安全体系简介
- monkey log分析说明
- Spark RDD写入RMDB(Mysql)方法二
- 黑马程序员——Java基础---面向对象
- 新UI框架-Butter Knife
- 天气预报接口
- 自定义AlertDialog(仿微信)
- LeetCode_20---Valid Parentheses
- Spark调研笔记第1篇 - Spark简介
- Libvirt中windows虚拟机的动态内存管理
- Ubuntu 安装flask框架
- eclipse
- Silverlight学习笔记(1)——样式的运用