Dynamicbox
https://github.com/medyo/StateViews
Deprecated, Please refer the new implementation at:DynamicBox is a library which inflates custom layouts to indicate :
- loading content
- show an exception
- or even a custom view.
The philosophy behind this library is to improve the UX through informing the user about what's happening behind, if the data is loading or an exception is thrown while fetching data...
Screenshots
Supports:
ListView
GridView
ExpandableListView
Activity
FragmentActivity
Fragment
LinearLayout
RelativeLayout
ScrollView
FrameLayout
RecyclerView
ViewGroup
or any view type overriding from one of these
Including in your project : Maven Central
compile 'com.github.medyo:dynamicbox:1.2@aar'
Usage
DynamicBox box = new DynamicBox(this,view);
this
: refers to the current Activity
view
: refers to the target view, eg a ListView or a layout
Example
- View
ListView lv = (ListView)findViewById(R.id.listView);
DynamicBox box = new DynamicBox(this,lv);
- Layout id
DynamicBox box = new DynamicBox(this,R.layout.activity_activity);
To Show the loading View
box.showLoadingLayout();
To Show Internet off View
box.showInternetOffLayout();
To Show Exception View
box.showExceptionLayout();
To Show a Custom View
View customView = getLayoutInflater().inflate(R.layout.custom_view, null, false);
box.addCustomView(customView,"greenmonster");
box.showCustomView("greenmonster");
To set Loading Message
box.setLoadingMessage("Loading your music ...");
To Override Strings Please refer to strings.xml variables
To Override Default style Please refer to styles.xml
To Override Default Layouts Please refer to res/layouts
See the example project for more details Sample
Apps using DynamicBox
Feel free to shoot me an email if your app is using it
Developed By
El Mehdi Sakout [email protected]
Resources
Thanks to IconKa for the cat icon.