开源软件名称:QuickBind
开源软件地址:https://gitee.com/byoooy/QuickBind
开源软件介绍:
QuickBind 是一个在安卓平台的视图注入框架。 可以实现以下操作: - BindLayout 绑定Activity的布局文件
- BindView 绑定View控件,无需再findViewById
- OnClick 支持OnClickListener事件
- OnLongClick 支持OnLongClickListener事件
- OnItemClick 支持OnItemClickListener事件
- OnItemLongClick 支持OnItemLongClickListener事件
- OnPageChange 支持OnPageChangeListener事件
- OnCheckedChange支持OnCheckedChangeListener事件
- OnFocusChange支持OnFocusChangeListener事件
- OnTouch 支持OnTouchListener事件
使用教程- 在Activity、Fragment、View(特别是ViewHolder)需要使用以下方法:(1)在Activity中
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); QuickBind.bind(this); }
(2)在Fragment中 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {View view = inflater.inflate(R.layout.fragment, container, false);QuickBind.bind(this, view);return view;} (3)在View(ViewHolder)中public ViewHolder(View view) {QuickBind.bind(this, view);} - BindLayout
@BindLayout(R.layout.activity_main) public class MainActivity extends Activity {...}
- **BindView** public class MainActivity extends Activity { @BindView(R.id.check) private CheckBox check; @BindView(R.id.text1) private TextView mText1; ... }public class MainAFragment extends Fragment {@BindView(R.id.check)private CheckBox check;@BindView(R.id.text1)private TextView mText1;...}</code></pre>- **OnClick** @OnClick(R.id.btn_list) private void start(View view) { Log.e("MainActivity", "测试onClick事件是否触发"); } - **OnLongClick** @OnLongClick(R.id.btn_list) private boolean longClick(View view) { Log.e("MainActivity", "长按测试成功"); return false; } - **OnItemClick** @OnItemClick(R.id.listview) private void onItemClick(AdapterView> arg0, View arg1, int position, long arg3) { Log.e("ListActivity", "onItemClick 测试成功" + position); } - **OnItemLongClick** @OnItemLongClick(R.id.listview) private boolean onItemLongClick(AdapterView> arg0, View arg1, int position, long arg3) { Log.e("ListActivity", "onItemLongClick 测试成功" + position); return true; } - **OnPageChange** @OnPageChange(value = R.id.viewpager, callback = "onPageSelected") private void onPageSelected(int pos) { Log.e("MainActivity", "测试OnPageChange 选中:" + pos); } - **OnCheckedChange** @OnCheckedChange(R.id.check) private void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { Log.e("MainActivity", "测试@OnCheckedChange事件是否触发"); buttonView.setChecked(isChecked); } - **OnFocusChange** @OnFocusChange({R.id.edit,R.id.edit1}) private void onFocusChange(View v, boolean hasFocus) { Log.e("MainActivity", "测试@OnFocusChange事件是否触发"); } - **OnTouch** @OnTouch(R.id.text1) private boolean onTouch(View v, MotionEvent event) { Log.e("MainActivity", "测试@OnTouch事件是否触发"); return false; } 兼容性与问题兼容性 经测试在大部分手机都能正常使用,目前暂无发现bug.问题 |
请发表评论