Android中对话框Dialog大全Word文件下载.docx
- 文档编号:18716149
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:12
- 大小:175.40KB
Android中对话框Dialog大全Word文件下载.docx
《Android中对话框Dialog大全Word文件下载.docx》由会员分享,可在线阅读,更多相关《Android中对话框Dialog大全Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
如果你想使用onCreateDialog(intid)方法来管理你对话框的状态(就如同在前面的章节讨论的那样),然后每次你的对话框消除的时候,这个对话框对象的状态将由该Activity保留。
如果你决定不再需要这个对象或者清除该状态是重要的,那么你应该调用removeDialog(intid)。
这将删除任何内部对象引用而且如果这个对话框正在显示,它将被消除。
下面是几种对话框的效果
图1
图2
图3
图4
图5
图6
图7
图1效果:
该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。
代码:
创建对话框方法dialog()
protectedvoiddialog(){
AlertDialog.Builderbuilder=newBuilder(Main.this);
builder.setMessage("
确认退出吗?
"
);
builder.setTitle("
提示"
builder.setPositiveButton("
确认"
newOnClickListener(){
@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
dialog.dismiss();
Main.this.finish();
}
});
builder.setNegativeButton("
取消"
builder.create().show();
在onKeyDown(intkeyCode,KeyEventevent)方法中调用此方法
publicbooleanonKeyDown(intkeyCode,KeyEventevent){
if(keyCode==KeyEvent.KEYCODE_BACK&
&
event.getRepeatCount()==0){
dialog();
returnfalse;
图2效果:
改变了对话框的图表,添加了三个按钮
Dialogdialog=newAlertDialog.Builder(this).setIcon(
android.R.drawable.btn_star).setTitle("
喜好调查"
).setMessage(
你喜欢李连杰的电影吗?
).setPositiveButton("
很喜欢"
newOnClickListener(){
//TODOAuto-generatedmethodstub
Toast.makeText(Main.this,"
我很喜欢他的电影。
Toast.LENGTH_LONG).show();
}).setNegativeButton("
不喜欢"
我不喜欢他的电影。
Toast.LENGTH_LONG)
.show();
}).setNeutralButton("
一般"
谈不上喜欢不喜欢。
}).create();
dialog.show();
图3效果:
信息内容是一个简单的View类型
newAlertDialog.Builder(this).setTitle("
请输入"
).setIcon(
android.R.drawable.ic_dialog_info).setView(
newEditText(this)).setPositiveButton("
确定"
null)
.setNegativeButton("
null).show();
图4效果:
信息内容是一组单选框
复选框"
).setMultiChoiceItems(
newString[]{"
Item1"
"
Item2"
},null,null)
.setPositiveButton("
图5效果:
信息内容是一组多选框
单选框"
android.R.drawable.ic_dialog_info).setSingleChoiceItems(
},0,
newDialogInterface.OnClickListener(){
图6效果:
信息内容是一组简单列表项
列表框"
).setItems(
},null).setNegativeButton(
图7效果:
信息内容是一个自定义的布局
1.布局文件
<
?
xmlversion="
1.0"
encoding="
utf-8"
>
LinearLayoutxmlns:
android="
android:
layout_height="
wrap_content"
android:
layout_width="
background="
#ffffffff"
orientation="
horizontal"
id="
@+id/dialog"
TextViewandroid:
@+id/tvname"
text="
姓名:
/>
EditTextandroid:
@+id/etname"
minWidth="
100dip"
/>
/LinearLayout>
2.调用代码
LayoutInflaterinflater=getLayoutInflater();
Viewlayout=inflater.inflate(R.layout.dialog,
(ViewGroup)findViewById(R.id.dialog));
自定义布局"
).setView(layout)
Android对话框【Dialog】去除白色边框代码
使用样式文件,在values目录下新建styles.xml文件,编写如下代码:
resources>
stylename="
dialog"
parent="
@android:
style/Theme.Dialog"
itemname="
windowFrame"
@null<
/item>
windowIsFloating"
true<
windowIsTranslucent"
false<
windowNoTitle"
background"
color/black<
windowBackground"
backgroundDimEnabled"
/style>
/resources>
复制代码
调用时,使用AlerDialog的接口类,Dialog接口编写如下代码:
Dialogdialog=newDialog(SetActivity.this,R.style.dialog);
dialog.setContentView(R.layout.test);
下面我们查看一下Dialog的源码文件,里面的构造函数为如下:
publicDialog(Contextcontext,inttheme){
mContext=newContextThemeWrapper(
context,theme==0?
com.android.internal.R.style.Theme_Dialog:
theme);
mWindowManager=(WindowManager)context.getSystemService("
window"
Windoww=PolicyManager.makeNewWindow(mContext);
mWindow=w;
w.setCallback(this);
w.setWindowManager(mWindowManager,null,null);
w.setGravity(Gravity.CENTER);
mUiThread=Thread.currentThread();
mDismissCancelHandler=newDismissCancelHandler(this);
这里面我们可以看出,Android使用了默认的构造函数为Dialog设置样式,如果没有为其设置样式,即默认加载事先编写好的样式文件,Dialog一共由多个9.png的图片构成,大部分都是带有边框的9.png图片,所以就是为什么我们上边的样式文件要将其背景去除掉。
这个东西搞了我好久,希望对你有帮助
前后效果对比
未设置前:
设置后:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 对话框 Dialog 大全