android 阻塞 对话框 完全阻塞 停止主进程类似于window MessageBox
来源:互联网 发布:发乎于情止乎于礼全文 编辑:程序博客网 时间:2024/05/02 06:33
1.首先 新建立一个类 MessageBox 如下:
//=============================================
package zicox.sdk;
import android.app.Activity;
import android.app.Dialog;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.view.View;
import android.view.Window;
import android.widget.TextView;
public class MessageBox extends Dialog {
int dialogResult;
Handler mHandler ;
public MessageBox(Activity context)
{
super(context);
dialogResult=0;
setOwnerActivity(context);
requestWindowFeature(Window.FEATURE_NO_TITLE);
onCreate();
}
public void onCreate()
{
setContentView(R.layout.messagebox);
findViewById(R.id.btnCancel).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View paramView)
{
endDialog(0);
}
});
findViewById(R.id.btnOK).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View paramView)
{
endDialog(1);
}
});
}
public int getDialogResult()
{
return dialogResult;
}
public void setDialogResult(int dialogResult)
{
this.dialogResult = dialogResult;
}
public void endDialog(int result)
{
dismiss();
setDialogResult(result);
Message m = mHandler.obtainMessage();
mHandler.sendMessage(m);
}
public int showDialog(String Msg,String Title)
{
TextView TvErrorInfo = (TextView) findViewById(R.id.textViewInfo);
TvErrorInfo.setText(Msg);
TextView TvTitle = (TextView) findViewById(R.id.textViewTitle);
TvTitle.setText(Title);
mHandler = new Handler() {
@Override
public void handleMessage(Message mesg) {
throw new RuntimeException();
}
};
super.show();
try
{
Looper.getMainLooper();
Looper.loop();
}
catch(RuntimeException e2)
{
}
return dialogResult;
}
}
2.调用的时候
MessageBox msgBox = new Messagebox(this);
msgBox.show(xx,xx);
这样就可以了
3.关于对话框样式 在 Messagebox.xml 中设置 我的设置如下;
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:orientation="vertical" android:layout_width="255dp" android:background="#FFFFFF">
<TableRow android:layout_height="wrap_content" android:background="#444444" android:id="@+id/tableRow1" android:layout_width="fill_parent">
<TextView android:layout_height="wrap_content" android:textColor="#FFFFFF" android:background="#444444" android:textAppearance="?android:attr/textAppearanceLarge" android:text="TextView" android:textSize="24dp" android:layout_width="fill_parent" android:id="@+id/textViewTitle" android:layout_marginLeft="12dip" android:layout_marginRight="8dip" android:layout_marginTop="8dip" android:layout_marginBottom="8dip"></TextView>
</TableRow>
<TextView android:layout_height="wrap_content" android:textColor="#000000" android:gravity="center" android:textAppearance="?android:attr/textAppearanceLarge" android:text="TextView" android:id="@+id/textViewInfo" android:layout_width="fill_parent" android:singleLine="false" android:layout_marginLeft="4dip" android:layout_marginRight="4dip" android:layout_marginTop="12dip" android:layout_marginBottom="12dip"></TextView>
<LinearLayout android:background="#888888" android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content">
<Button android:layout_height="wrap_content" android:text="确定" android:textSize="20dp" android:id="@+id/btnOK" android:layout_width="120dp" android:layout_marginLeft="4dip" android:layout_marginRight="3dip" android:layout_marginTop="8dip" android:layout_marginBottom="3dip"></Button>
<Button android:layout_height="wrap_content" android:text="取消" android:textSize="20dp" android:id="@+id/btnCancel" android:layout_width="120dp" android:layout_marginLeft="3dip" android:layout_marginRight="3dip" android:layout_marginTop="8dip" android:layout_marginBottom="3dip"></Button>
</LinearLayout>
</LinearLayout>
- android 阻塞 对话框 完全阻塞 停止主进程类似于window MessageBox
- android阻塞对话框和非阻塞对话框
- Android阻塞对话框PopupWindow
- Android 仿微信阻塞对话框
- Android阻塞对话框PopupWindow
- C#里面MessageBox不能乱用,阻塞和非阻塞,模态对话框和非模态
- Android阻塞式对话框的实现
- 关于MessageBox的非阻塞
- MessageBox会阻塞信号槽
- PopupWindow阻塞式对话框
- window socket 阻塞和非阻塞通信
- 阻塞
- 阻塞
- 阻塞
- 阻塞
- JAVA学习笔记50——线程状态+停止进程+阻塞进程
- WPF C# MessageBox 非阻塞 SplashScreen
- SQL阻塞进程检查
- Unix中pthread()+fork()+execl()解决system()导致主进程阻塞的例子
- linux java 环境配置
- hdparm 测试硬盘读写速度
- 你信吗,开通博客也能坐享其财
- BASH系列之一shell概述
- android 阻塞 对话框 完全阻塞 停止主进程类似于window MessageBox
- 使用cPanel四步完成网站转移
- jsoup select 选择器
- c++ primer习题9.26答案错误
- Three20中StyleSheet用法随笔(1)
- The procedure entry point XXX could not be located in the dynamic link library XXX.dll
- 解析XMPP协议分析与应用(转载)
- 一些有用的链接
- 代码逻辑框架