當前位置:首頁 » 安卓系統 » 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();

熱點內容
db2新建資料庫 發布:2024-09-08 08:10:19 瀏覽:170
頻率計源碼 發布:2024-09-08 07:40:26 瀏覽:778
奧迪a6哪個配置帶後排加熱 發布:2024-09-08 07:06:32 瀏覽:100
linux修改apache埠 發布:2024-09-08 07:05:49 瀏覽:208
有多少個不同的密碼子 發布:2024-09-08 07:00:46 瀏覽:566
linux搭建mysql伺服器配置 發布:2024-09-08 06:50:02 瀏覽:995
加上www不能訪問 發布:2024-09-08 06:39:52 瀏覽:811
銀行支付密碼器怎麼用 發布:2024-09-08 06:39:52 瀏覽:513
蘋果手機清理瀏覽器緩存怎麼清理緩存 發布:2024-09-08 06:31:32 瀏覽:554
雲伺服器的優點與缺點 發布:2024-09-08 06:30:34 瀏覽:734