androiddialog创建
㈠ android之EditText输入错误时该怎样提示用户
android提示可以使用dialog或者Toast来提示,以下是示例代码:
1.创建对象框
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("请输入"); //设置对话框标题
builder.setIcon(android.R.drawable.btn_star); //设置对话框标题前的图标
2.创建EditText输入框
final EditText edit = new EditText(context);
3.将输入框赋值给Dialog,并增加确定取消按键
builder.setView(edit);
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你输入的是: " + edit.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你点了取消", Toast.LENGTH_SHORT).show();
}
});
4.设置常用api,并show弹出
builder.setCancelable(true); //设置按钮是否可以按返回键取消,false则不可以取消
AlertDialog dialog = builder.create(); //创建对话框
dialog.setCanceledOnTouchOutside(true); //设置弹出框失去焦点是否隐藏,即点击屏蔽其它地方是否隐藏
dialog.show();
㈡ android开发中获取选中文字以及弹出框
只需要在Textview中增加android:textIsSelectable="true"即可长按弹出复制,如果要弹出对话框,那就要用Dialog,dialog的用法如下:
Android中,在Dialog中增加EditText需要使用view控件,也可参考附件源代码。
具体实现代码:
1.创建对象框
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("请输入"); //设置对话框标题
builder.setIcon(android.R.drawable.btn_star); //设置对话框标题前的图标
2.创建EditText输入框
final EditText edit = new EditText(context);
3.将输入框赋值给Dialog,并增加确定取消按键
builder.setView(edit);
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你输入的是: " + edit.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你点了取消", Toast.LENGTH_SHORT).show();
}
});
4.设置常用api,并show弹出
builder.setCancelable(true); //设置按钮是否可以按返回键取消,false则不可以取消
AlertDialog dialog = builder.create(); //创建对话框
dialog.setCanceledOnTouchOutside(true); //设置弹出框失去焦点是否隐藏,即点击屏蔽其它地方是否隐藏
dialog.show();
㈢ android如何创建带3个按钮的对话框
1.先在布局界面上,拖进来一个按钮控件,并设置显示的文字,记得保存(Ctrl+S)
之后在代码界面上定义该按钮。
2.新建一个按钮点击的方法。
onClick(View v) :点击之后的动作。
3.设置按钮的点击事件指向我们新建的点击方法。
setOnClickListener:设置点击之后触发的动作。
4.在onClick里添加弹出对话框的代码。
AlertDialog:一个对话框类。
MainActivity.this:对话框显示的位置。
setTitle:设置标题。
setMessage:设置内容。
setPositiveButton:设置对话框的按钮。
show():显示对话框。
至此所有代码已经完成,编译并生成,在Android安卓虚拟机上显示如下。
㈣ 弹出全屏dialog怎么防止android手机状态栏被顶上去
创建Dialog的方法如下,第一个参数是Context对象,第二个参数是主题文件对应的id
<code avrasm="" class="hljs">TracingDialog dialog=new TracingDialog(MainActivity.this, R.style.kdialog);
dialog.show();</code>
style如下
<code applescript="" class="hljs"><style name="kdialog" parent="@android:style/Theme.Dialog" type="text/css"><item name=android:windowBackground>@android:color/transparent</item>
<item name=android:windowFrame>@null</item>
<item name=android:windowNoTitle>true</item>
<item name=android:windowIsFloating>true</item>
<item name=android:windowIsTranslucent>false</item>
<item name=android:backgroundDimEnabled>false</item></style></code>
现在我们在TracingDialog中增加一个函数,该函数对android4.4及以上版本进行适配使其显示正常,增加的函数如下
<code avrasm="" class="hljs">private void applyCompat() {
if (Build.VERSION.SDK_INT < 19) {
return;
}
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}</code>
在TracingDialog的onCreate方法中调用以上函数即可,如下
<code class="hljs" cs="">protected void onCreate(Bundle paramBundle) {
applyCompat();
setContentView(R.layout.tracing_dialog);
}</code>
姑且不考虑继承Dialog这种创建Dialog的方法,没办法,历史遗留问题。Dialog的创建方法官方已经建议使用DialogFragment进行创建了。就这样,一个函数解决了问题!
㈤ android微信的聊天记录长按某聊天弹出的页面是怎样实现的
Android中应该是用ListView来实现聊天记录的,长按某个记录后,如果设置了侦听器:
setOnItemLongClickListener(OnItemLongClickListener listener);
则listener中的方法: boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) 将被调用,你可以实现这个方法,在其中创建你想要的对话框。
全屏对话框可以这样实现:
1 如果你请求activity去创建,则showDialog(YOUR_DIALOG_ID);
然后在activity中的
@OverrideprotectedDialog onCreateDialog(int id){//all other dialog stuff (which dialog to display)//this line is what you need:
dialog.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN,LayoutParams.FLAG_FULLSCREEN);return dialog;
}
2 如果直接创建,则调用:Dialog dialog=newDialog(this,R.style.Theme_Dark_NoTitleBar_FullScreen);
不知道有没有说清楚。