当前位置:首页 » 安卓系统 » android模态

android模态

发布时间: 2022-06-08 08:59:49

① android怎样实现弹出多个输入对话框

1.布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:background="#ffffffff" android:orientation="horizontal"
android:id="@+id/dialog">
<TextView android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/tvname" android:text="姓名:" />
<EditText android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/etname" android:minWidth="100dip"/>
</LinearLayout>
2.调用代码
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.dialog,
(ViewGroup) findViewById(R.id.dialog));
new AlertDialog.Builder(this).setTitle("自定义布局").setView(layout)
.setPositiveButton("确定", null)
.setNegativeButton("取消", null).show();

简单来说就是自定义dialog就好了
在里面创建两个对话框,也就是edittext
你试试看我这个代码。

② android 弹出输入框并得到输入框的结果

不用找了,这才是正解。你的需求其实是,需要一个阻塞式对话框,安卓本身所有弹窗都是非阻塞的。

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.os.Handler;

import android.os.Looper;

import android.os.Message;

import android.widget.EditText;

/**

* 动态获取用户输入后在继续后面的流程

* 这是一个模态阻塞对话框(阻塞主线程,结果不用回调来处理)

*/

public class BlockingInputDialog {

String mInputString = "";

Activity mContext;

String mTitle;

EditText mEditText;

Handler mHandler;

public BlockingInputDialog(Activity context, String title){

mContext = context;

mTitle = title;

}

public String showDialog(){

mHandler = new Handler(){

@Override

public void handleMessage(Message msg) {

//super.handleMessage(msg);

throw new RuntimeException();

}

};

AlertDialog.Builder builder = new AlertDialog.Builder(mContext);

builder.setTitle(mTitle);

builder.setCancelable(false);

mEditText = new EditText(mContext);

builder.setView(mEditText);

builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialogInterface, int i) {

mInputString = mEditText.getText().toString();

Message message = mHandler.obtainMessage();

mHandler.sendMessage(message);

}

});

builder.setNegativeButton("取消", null);

builder.create().show();

try {

Looper.getMainLooper().loop();

}

catch(RuntimeException e2)

{

}

return mInputString;

}

}

③ android如何弹出一个占屏幕一半的菜单

android弹出一个占屏幕一半的菜单,可以使用popupwindow,设置弹出的xy轴的距离占据屏幕一半即可,如下代码:

java">packagecom.example.hellopopupwindow;

importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.content.Context;
importandroid.util.Log;
importandroid.view.LayoutInflater;
importandroid.view.MotionEvent;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.view.View.OnTouchListener;
importandroid.view.ViewGroup.LayoutParams;
importandroid.widget.Button;
importandroid.widget.PopupWindow;
importandroid.widget.Toast;

{

privateContextmContext=null;

@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mContext=this;

Buttonbutton=(Button)findViewById(R.id.button);
button.setOnClickListener(newView.OnClickListener(){

@Override
publicvoidonClick(Viewview){

showPopupWindow(view);
}
});
}

privatevoidshowPopupWindow(Viewview){

//一个自定义的布局,作为显示的内容
ViewcontentView=LayoutInflater.from(mContext).inflate(
R.layout.pop_window,null);
//设置按钮的点击事件
Buttonbutton=(Button)contentView.findViewById(R.id.button1);
button.setOnClickListener(newOnClickListener(){

@Override
publicvoidonClick(Viewv){
Toast.makeText(mContext,"buttonispressed",
Toast.LENGTH_SHORT).show();
}
});

finalPopupWindowpopupWindow=newPopupWindow(contentView,
LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT,true);

popupWindow.setTouchable(true);

popupWindow.setTouchInterceptor(newOnTouchListener(){

@Override
publicbooleanonTouch(Viewv,MotionEventevent){

Log.i("mengdd","onTouch:");

returnfalse;
//这里如果返回true的话,touch事件将被拦截
//拦截后PopupWindow的onTouchEvent不被调用,这样点击外部区域无法dismiss
}
});

//如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框
//我觉得这里是API的一个bug
popupWindow.setBackgroundDrawable(getResources().getDrawable(
R.drawable.selectmenu_bg_downward));

//设置好参数之后再show
popupWindow.showAsDropDown(view);

}

}

④ android 弹出dialog时activity的生命周期处在什么状态

处于pause状态。

当 Activity失去焦点, 被一个新的非全屏的Activity 或者一个透明的Activity (如弹窗dialog)被放置在栈顶,此时的状态叫做暂停状态(Paused)。

此时它依然与窗口管理器保持连接,Activity依然保持活力(保持所有的状态,成员信息,和窗口管理器保持连接),但是在系统内存极端低下的时候将被强行终止掉。所以仍然可见,但已经失去了焦点故不可与用户进行交互。

(4)android模态扩展阅读:

activity的其它状态:

1、运行:如果当前的activity在前台界面上时(堆栈顶端)。

2、停止:如果activity完全被另一个全屏活动遮挡住时,它将会停止。该活动也仍保留全部的状态和成员信息,但将会被隐藏起来不再展示给用户,并且当内存在其他地方被需要时该活动就将会被系统杀死。

3、重启:如果activity处于暂停或者停止状态,系统将会在内存中终止该活动无论是结束活动或者杀死进程。当它再一次展示给用户时,它必须是完全重启并且恢复到之前的状态。

⑤ android弹出的布局背景设置为不透明

引用style

<style name="dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item><!--边框-->
<item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
<item name="android:windowIsTranslucent">false</item><!--半透明-->
<item name="android:windowNoTitle">true</item><!--无标题-->
<item name="android:windowBackground">@color/transparent</item><!--背景透明-->
<item name="android:backgroundDimEnabled">false</item><!--模糊-->
</style>

⑥ Android开发,点击按钮弹出对话框的问题

这里报错是代码写法有误,建议一行一行代码的写。
具体实现代码:
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中有没有类似ShowMessage那种模态对话框

给个例子好了

importandroid.app.Activity;
importandroid.app.Dialog;
importandroid.os.Handler;
importandroid.os.Looper;
importandroid.os.Message;
importandroid.text.method.PasswordTransformationMethod;
importandroid.text.method.TransformationMethod;
importandroid.view.View;
importandroid.widget.CheckBox;
importandroid.widget.EditText;
importandroid.widget.TextView;

{
intdialogResult;
HandlermHandler;

publicPasswordDialog(Activitycontext,StringmailName,booleanretry)
{

super(context);
setOwnerActivity(context);
onCreate();
TextViewpromptLbl=(TextView)findViewById(R.id.promptLbl);
promptLbl.setText("请输入密码/n"+mailName);
}
publicintgetDialogResult()
{
returndialogResult;
}
publicvoidsetDialogResult(intdialogResult)
{
this.dialogResult=dialogResult;
}
/**.*/

publicvoidonCreate(){
setContentView(R.layout.password_dialog);
findViewById(R.id.cancelBtn).setOnClickListener(newandroid.view.View.OnClickListener(){

@Override
publicvoidonClick(ViewparamView)
{
endDialog(DialogResult.CANCEL);
}
});
findViewById(R.id.okBtn).setOnClickListener(newandroid.view.View.OnClickListener(){

@Override
publicvoidonClick(ViewparamView)
{
endDialog(DialogResult.OK);
}
});
}

publicvoidendDialog(intresult)
{
dismiss();
setDialogResult(result);
Messagem=mHandler.obtainMessage();
mHandler.sendMessage(m);
}

publicintshowDialog()
{
mHandler=newHandler(){
@Override
publicvoidhandleMessage(Messagemesg){
//processincomingmessageshere
//super.handleMessage(msg);
thrownewRuntimeException();
}
};
super.show();
try{
Looper.getMainLooper().loop();
}
catch(RuntimeExceptione2)
{
}
returndialogResult;
}

}

⑧ 请教实现android工程中点击菜单弹出一个对话框

说下思路的,既然是弹出对话框,肯定是需要一个dialog,既然这个dialog中的一些属性是自己设定的,肯定是要设置自己自定义的dialog,怎么样才能弹出dialog呢,当你监听点击菜单的事件,记得几贴哟,逻辑很重要的,其他的就要靠你自己的了
android 点击按钮 让菜单从上面弹出
分类: 移动开发/ Android/ 文章
VC/MFC 菜单从绘,点击菜单项目发送自定义消息,弹出afxMessagebox("1");//报错

菜单自绘,点击菜单项目发送自定义消息,弹出afxMessagebox("1");//报错wm_buttondown消息里//自定义消息SendMessage发送自定义消息,报错。换成PostMessage就没事。这是啥原理? 解决方案贴相关
VC/MFC 怎么点击按钮弹出右键菜单,并且按钮保持按上状态

如何点击按钮弹出右键菜单,并且按钮保持按下状态?环境:VS2008 MFC问题:我重绘了按钮,分为3个状态:正常、鼠标进入、鼠标按下;当点击鼠标时会在按钮下面弹出右键菜单。现在问题是右键菜单弹出后,按钮的按下状态就消失了!!请问如何在弹出菜单时使按钮保持按下状态,在菜单消失时按钮状态恢复正常?解决方案你试试看设立一个
VC/MFC MDI怎么实现一个功能,菜单下点击一个按钮弹出一个ClistView

MDI如何实现一个功能,菜单上点击一个按钮弹出一个ClistView?MDI如何实现一个功能,菜单上点击一个按钮弹出一个ClistView?注意是CListView,不是弹对话框。这个功能怎么实现啊??解决方案 CDockablePane ?用VS2008SP1/VS2010建个SDI/MDI工程就看到了
Android Android点按钮弹出系统菜单的方法,该如何处理

Android点按钮弹出系统菜单的方法不点击menu按钮、点击自定义的按钮弹出系统的menu菜单如何实现、菜鸟请教、解决方案http://www.eoeandroid.com/thread-69418-1-1.html 解决方案 调用这句KeyEvent event=new KeyEvent
Delphi 小弟我想点击菜单上面的一个按钮后,直接就类式与按下了PrintScreen键,但是小弟我对键盘消息不是很清楚,大侠

我想点击菜单上面的一个按钮后,直接就类式与按下了PrintScreen键,但是我对键盘消息不是很清楚,请教各位大侠!我是这样实现的: 在按钮的单击事件里面这样写的: SendMessage(Handle,WM_KEYUP,VK_SNAPSHOT,0
Android Android 弹出菜单 - PathButton

Android 弹出菜单 ---- PathButton http://www.oschina.net/p/pathbutton
Android 点击弹出层如何处理点击到上面层

点击弹出层如何避免点击到下面层 。如在原来的列表上 放了一个隐藏显示的ReltionLayout 里面放了一些 选项 选择排序或过滤条件,这时在列表上面弹出显示这个ReltionLayout ,点击这个ReltionLayout 空白处 没有刚好点击
C++ VS2010点击菜单弹出对话框解决方案

VS2010点击菜单弹出对话框在mfc下,新建一个菜单项,然后给它加一个消息处理函数,就是弹出一个对话框的。但是,加一个消息处理函数的前提是这个菜单的Popup属性是false,可是,当popup属性是false的时候,程序运行出来那个菜单项是灰色的,根本点不动,更不用说弹出对话框了。不知道这个情况大家有没有遇到过呢
Web前端 jQuery点击弹出上拉菜单

jQuery点击弹出下拉菜单<title>导航——点击弹出内容</title> <style type="text/css"> .navgation{margin:0;padding:0;list-style-type:none
Android android弹出菜单银屏移动

android弹出菜单屏幕移动有这样一个效果:从屏幕左边弹出一个宽度为w对话框,然后屏幕里面的activity就往左边移动w距离。请问用什么方法可以实现这个方法呢解决方案
ASP.NET 点击按钮弹出网页的有关问题

点击按钮弹出网页的问题请问一下各位,我在网页上放置一个按钮,点击时弹出另一个页面,在我的机子上运行时可以弹出,当把网站打包安装到另一台电脑时,点击按钮,就弹不出网页,这是是么问题,谢谢! 我按钮中的代码是这样的 protected void
VB VB怎么点击网页弹出提示窗口的按钮

VB如何点击网页弹出提示窗口的按钮某网页,点击按钮后会出现一个弹出窗口,在网上找,在CSDN上问,会找出其弹出窗口的文字内容了,但是其上面还有是、否或确定取消一两个按钮,我现在不会点这个按钮,大家支下招哈!解决方案 帮楼主顶一下... 解决方案 你这其实是一个dhtml问题吧,坛子中常有类似的问题的,搜索一下吧
VC/MFC 点击按钮后弹出另一个对话框解决方法

点击按钮后弹出另一个对话框用CDialog类做出一个选择界面:一个按钮 点击此按钮后,会弹出另外的一个对话框按钮(里面可以有输入命令的编辑框,也有可以点击确定的按钮) 请问,该如何实现上述的功能? 如何调用? 请详细些,谢谢!解决方案在拟新建的对话框类中加入Create 调用即可。 解决方案无模式
Java Web开发 点击按钮,弹出保存、打开对话框解决方案

点击按钮,弹出保存、打开对话框怎样在html页面上加按钮跟响应实现这个功能?就比如像平时网页上看到的下载,一点就出来个对话框,有打开,保存,取消的,点保存还能选择保存路径的,怎么搞???解决方案你只要把文件链接放到页面上,其他的就是浏览器的事情了。 解决方案探讨你只要把文件链接放到页面上,其他的就是浏览器的事情
ASP.NET 如何点击按钮弹出一个小窗口

怎么点击按钮弹出一个小窗口?我做的是投票系统点击投票按钮弹出一个小窗口 小窗口里面是投票用的!~解决方案先做个隐藏的DIV,点击时再显示 解决方案window.openwindow.showModalDialogDiv第三方控件 解决方案javascript 解决方案传值可以跟url传一样吧。。?UserID

⑨ android开发 弹出权限提示框 检查是否具有某个权限

可以使用以下方法:
判断应用是否具有某个权限
PackageManager pm = getPackageManager();
boolean permission = (PackageManager.PERMISSION_GRANTED ==
pm.checkPermission("android.permission.RECORD_AUDIO", "packageName"));
if (permission) {
showToast("有这个权限");
}else {
showToast("木有这个权限");
}
获取某个应用的权限清单
PackageInfo pack = pm.getPackageInfo("packageName",PackageManager.GET_PERMISSIONS);
String[] permissionStrings = pack.requestedPermissions;

⑩ android里有非模态对话框吗

非模态对话框就是Dialog吧,android中的dialog实例代码为:
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();

热点内容
跳转页源码 发布:2024-09-17 03:13:05 浏览:542
html文件上传表单 发布:2024-09-17 03:08:02 浏览:783
聊天软件编程 发布:2024-09-17 03:00:07 浏览:725
linuxoracle安装路径 发布:2024-09-17 01:57:29 浏览:688
两个安卓手机照片怎么同步 发布:2024-09-17 01:51:53 浏览:207
cf编译后没有黑框跳出来 发布:2024-09-17 01:46:54 浏览:249
安卓怎么禁用应用读取列表 发布:2024-09-17 01:46:45 浏览:524
win10设密码在哪里 发布:2024-09-17 01:33:32 浏览:662
情逢敌手迅雷下载ftp 发布:2024-09-17 01:32:35 浏览:337
安卓如何让软件按照步骤自动运行 发布:2024-09-17 01:28:27 浏览:197