隐藏系统布局的ProgressDialog中的button
来源:互联网 发布:贝叶斯网络模型 编辑:程序博客网 时间:2024/05/20 05:24
ProgressDialog pd;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);pd = new ProgressDialog(this,ProgressDialog.THEME_HOLO_LIGHT);}public void showWaitDialog(String msg,android.content.DialogInterface.OnClickListener lis) {tempLis = lis;if (lis != null) {pd.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", mCancelLis);}pd.setMessage(msg);pd.setCancelable(true);pd.show();}public void showWaitDialog(String msg) {if(pd.getButton(DialogInterface.BUTTON_NEGATIVE) !=null){//pd.getButton(DialogInterface.BUTTON_NEGATIVE).setVisibility(View.GONE); //异常效果ViewParent parent = pd.getButton(DialogInterface.BUTTON_NEGATIVE).getParent().getParent();LinearLayout layout = (LinearLayout) parent;layout.setVisibility(View.GONE);}showWaitDialog(msg, null);}public void showDialog(View v){switch (v.getId()) {case R.id.button1:showWaitDialog("正在加载。。。");break;case R.id.button2:showWaitDialog("出现异常,请重新加载", "确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {cancleWaitDialog();}});break;default:break;}}
正常效果:
需要按钮的时候就pb.setButton()增加一个,不需要按钮只需要显示信息的时候就把按钮隐藏。
异常效果:
pd.getButton(DialogInterface.BUTTON_NEGATIVE).setVisibility(View.GONE);当我这样隐藏那个确认按钮,然后再次只显示信息,发现按钮那里并没有消失只是变成了空白,很明显button外面应该嵌套了一层或几层布局。
知道原因了,现在只需要确认button的第几层父布局和显示信息的父布局是同级的。
在eclipse中打开Open Perspective-------------->>Hierarchy View
然后连接手机后,打开异常效果界面,现在我们就看到这个ProgressDialog的布局树
然后发现下面id/button2 就是确认按钮,button上面还有两层LinearLayout,第二层和显示信息的是同级的,所以把第二层LinearLayout隐藏就行了,代码如下:
ViewParent parent = pd.getButton(DialogInterface.BUTTON_NEGATIVE).getParent().getParent();LinearLayout layout = (LinearLayout) parent;layout.setVisibility(View.GONE);
注意:ProgressDialog 我只new了一次,所以要隐藏按钮实现效果,如果你每次显示都new,取消的时候都把pd = null;,就没有上述的异常效果了。
0 0
- 隐藏系统布局的ProgressDialog中的button
- 如何隐藏ProgressDialog后面的最大值进度
- 关于android中的隐藏布局
- Android中的布局和控件的隐藏和触发显示
- 为ProgressDialog 设置button编号
- listview的item与item布局中的button的冲突问题
- ProgressDialog的
- 自定义ProgressDialog显示和隐藏
- GridView内部隐藏button的方法
- 点击button改变div的显示隐藏
- 隐藏ion-nav-back-button的文字
- Android Button的隐藏与显示
- button控制视图的隐藏与显示
- Android ScrollView Button的显示隐藏
- android button控制linearlayout的显示隐藏
- android中的布局(二)Button 和ImageButton的简单用法
- Button布局
- ProgressDialog(四)——改变系统自带ProgressDialog的文字大小
- noip2002—选数
- 黑马程序员-----C语言学习之流程控制
- Android 退出整个应用程序
- 操作系统学习笔记
- Web开发模式--MVC设计模式应用
- 隐藏系统布局的ProgressDialog中的button
- crontab命令
- php类的自动加载
- 优化UITableView性能
- NBUT 1222 English Game(trie树+DP)
- 日经社説 20150819 経営のモデルチェンジに踏み出そう
- [Android]RecyclerView的简单示例
- Linux定时器工具-crontab 各参数详解及如何查看日志记录
- HDU 2612 Find a way