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...
Supports:
ListView
GridView
ExpandableListView
Activity
FragmentActivity
Fragment
LinearLayout
RelativeLayout
ScrollView
FrameLayout
or any view type overriding from one of these
compile 'com.github.medyo:dynamicbox:1.1@aar'
DynamicBox box = new DynamicBox(this,view);
this
: refers to the current Activity
view
: refers to the target view, eg a ListView or a layout
- 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
Feel free to shoot me an email if your app is using it
El Mehdi Sakout [email protected]
Thanks to IconKa for the cat icon.