This framework is mainly used for Android rapid development, integration of most of the commonly used API, so that most people can integrate this Model, you can start developing immediately.
Register in Application: MainInit.getInstance (). Init (this);
BaseConfig.setDeBug (true);// set to Bug mode, output print information.
BaseConfig.setBackFinish (false);// Turn on the skid off function.
...
The following is the API19 above support the invasion program, API greater than 19 default open (less than 19 default does not display), the status bar using View, more flexible, you can set it GONE attribute, so that the layout content extends to the status bar, or Set the color you want, such as transparent color, to be free to control the status bar color, and let the content layout reserve the status bar space, avoid setting again again android: fitsSystemWindows = "true"
You can configure these layouts when the application is initialized, or you can set these properties individually in BaseActivity:
CustomConfig.setLoadingView(R.layout.base_loading);
CustomConfig.setEmptyView(R.layout.base_empty);
setLoadingRes(R.layout.base_loading);
setEmptyRes(R.layout.base_empty);
showLoading();
showEmpty();
CustomAdapter adapter=new CustomAdapter<String>(mContext,list,R.layout.base_empty) {
@Override
public void onBind(ViewHolder holder, int viewType, int position, String item) {
holder.view(R.id.tv_content).setText(item).setTextSize(15).setTextColor(Color.RED).setOnClickListener(this);
holder.setText(R.id.tv_name,item);
}
@Override
public void onClick(View view) {
}
};
listView.setadapter(adapter);
gridView.setadapter(adapter);
recyclerView.setadapter(adapter);
//Multiple layouts need to construct the third argument directly to the new RLItemViewType, or internally rewrite the offerRLItemViewType to handle the different TPYEs.
CustomAdapter adapter = new CustomAdapter<String>(mContext, list, null) {
@Override
public void onBind(ViewHolder holder, int viewType, int position, String item) {
if (viewType == 0) {
holder.view(R.id.tv_content).setText(item).setTextSize(15).setTextColor(Color.RED).setOnClickListener(this);
} else if (viewType == 1) {
holder.view(R.id.tv_content).setBackgroundResource(R.drawable.common_top_back).setScaleType(ImageView.ScaleType.CENTER_CROP).setOnClickListener(this);
}
}
@Override
public void onClick(View view) {
}
@Override
protected RLItemViewType<String> offerRLItemViewType() {
return new SimpleItemType<String>() {
@Override
public int getItemViewType(int position, String s) {
if (position == 0) {
return 0;
} else if (position == 1) {
return 1;
}
return 0;
}
@Override
public int getLayoutId(int viewType) {
if (viewType == 0) {
return R.layout.base_empty;
} else if (viewType == 1) {
return R.layout.base_empty2;
}
return base_empty;
}
};
}
};
adapter.addHeader(view);
adapter.addFooter(view);
adapter.setData(list);
adapter.addFirst("add");
adapter.addIndex("add",2);
adapter.addLast("add");
adapter.addAll(list);
adapter.set("update",2);
adapter.remove(2);
adapter.clear();
Add simulation data, when we complete the interface, you need to preview the interface without data, do not want new List () simulation data, we only need to rewrite the following methods can be resolved:
@Override
public int getBaseCount() {
return 10;//You need to simulate the number of data bars
}
SetOnlyOnce (true); // set the animation to execute once.
EnableLoadAnimation (); // Enable default transparency changes.
EnableLoadAnimation (500, animation); // define regular and animated.
EnableLoadAnimation (500, AnimationEnum.SCALE); // use the five kinds of animations provided by default.
EventVus default customization of an EventBus, used exactly the same as before, but more lightweight, no need to integrate more than one lib.
@Id(R.id.tv_content)
TextView tv_content;
@Id(R.id.iv_showLoad)
ImageView iv_showLoad;