实现正在加载中界面的Android库:DynamicBox
2016-04-26 16:15
393 查看
转载。
DynamicBox是一个Android库,能够inflates自定义布局来指示出:
正在加载内容
显示一个异常
或者是一个自定义视图
项目主页:http://www.open-open.com/lib/view/home/1408690490303
文件名:dynamicbox-master
简单说明:
支持(可以替换加载中的控件~):
Layout id
To Show the loading View
To Show Internet off View
To Show Exception View
To Show a Custom View
**To set Loading Message **
自己使用的方法:
因为是自己新建的项目来复制黏贴的,然后引用包到自己项目的时候报错了
因为android-support-v4自己项目和引用的项目都有,所以重复了,这样以后自己新建拷贝的项目用来引用应该会常出现这个问题~
删除掉新建的包项目,重新引用,就没报错了~
整个界面的初始化和等待:
Activity初始化的时候就可以设置对应的值
然后是在访问网络返回成功失败时的对应操作
对应控件的等待载入:
DynamicBox是一个Android库,能够inflates自定义布局来指示出:
正在加载内容
显示一个异常
或者是一个自定义视图
项目主页:http://www.open-open.com/lib/view/home/1408690490303
文件名:dynamicbox-master
简单说明:
支持(可以替换加载中的控件~):
ListView
GridView
ExpandableListView
Activity
FragmentActivity
Fragment
LinearLayout
RelativeLayout
ScrollView
示例 (控件和布局的布局文件或ID赋值方式)
ViewListView 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 ...");
自己使用的方法:
因为是自己新建的项目来复制黏贴的,然后引用包到自己项目的时候报错了
因为android-support-v4自己项目和引用的项目都有,所以重复了,这样以后自己新建拷贝的项目用来引用应该会常出现这个问题~
删除掉新建的包项目,重新引用,就没报错了~
整个界面的初始化和等待:
Activity初始化的时候就可以设置对应的值
DynamicBox box ; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); pojo = new HouseConditionsPojo(); box = new DynamicBox(this,R.layout.house_jj_list_activity); box.setLoadingMessage("Loading content..."); box.setOtherExceptionTitle("Error"); box.setOtherExceptionMessage("An error has occurred while fetching data, please try again ..."); box.setClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ini(); // 访问网络,成功的时候初始化控件 } }); ini(); }
然后是在访问网络返回成功失败时的对应操作
private void ini() { box.showLoadingLayout(); //显示加载中的画面 AsyncHttpClientTool.SearchJJHouses(pojo, new AsyncReturn() { @Override public void onSuccess(String arg0) { box.hideAll(); // 关闭加载中动画 try { init(); //注册控件 控件赋值的呢过 } catch (Exception e) { e.printStackTrace(); } super.onSuccess(arg0); } @Override public void onFailure(Throwable arg0) { box.showExceptionLayout(); //调用访问失败的界面 super.onFailure(arg0); } }); }
对应控件的等待载入:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_listview); //加载布局文件 ListView lv = (ListView)findViewById(R.id.listView); //布局中用来替换的控件 // Setup by Box box = new DynamicBox(this,lv); // or new DynamicBox(this,R.id.listView) box.setLoadingMessage("Loading your music ..."); //自定义控件用来替换布局中的替换控件 View emptyCollectionView = getLayoutInflater().inflate(R.layout.activity_listview, null, false); box.addCustomView(emptyCollectionView,"music_not_found"); box.setClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(getApplicationContext(), "Retry button clicked :)", Toast.LENGTH_SHORT).show(); } }); box.showLoadingLayout(); new Handler().postDelayed(new Runnable() { public void run() { // box.showCustomView("music_not_found"); //当数据获取成功时,展示正确的界面 box.showExceptionLayout();//当数据获取失败时,显示加载失败的界面 } }, 2000); }
相关文章推荐
- 关于Android蓝牙设备的连接使用
- Android Service与Activity之间通信使用Messenger方式
- Android 4.4 Kitkat Phone工作流程浅析(三)__MO(去电)流程分析
- Phonegap插件编写注册与使用
- Android总结 - Fragment
- 如何在Android模拟器上访问电脑本地的Web应用
- Android studio中获取SHA1码及MD5码、及无法使用Keytool命令
- Android带渐变效果的圆角矩形Demo
- windows系统上安装与使用Android NDK r5(转)
- 3. Android框架和工具之 xUtils(DbUtils )
- Android 加载图片时根据哪个类获得的值,大致判断什么时候Out Of Memory
- 霓虹灯效果(用TextView实现)
- Android 停止调试程序
- Android studio 克隆分支
- Android应用中实现手势控制图片缩放的完全攻略
- android BitmapFactroy
- Android实现发送短信的功能
- Android学习(45) -- 自定义控件(9) 下拉刷新 (添加footer)
- Android TextView指定关键字高亮显示
- Android MVP 模式的使用