① android dialog怎麼在底部彈出窗口
android 4.0以上的系統默認的情況就是設置了setCanceledOnTouchOutside(true)這個屬性的,所以你在實例dialog的時候,認為設置成false就行。
② android 從底部彈出一個列表框點擊列表框的內容再同樣的彈出一個列表框,如此循環
這個用自定義dialog實現
dialog 的控制項,用你自己的布局, listView要使用自定義Adapter Window window = dialog.getWindow();
window.setGravity(Gravity.BOTTOM); //此處可以設置dialog顯示的位置
window.setWindowAnimations(R.style.mystyle); //添加動畫
styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="mystyle" parent="android:Animation">
<item name="@android:windowEnterAnimation">@anim/dialog_enter</item> //進入時的動畫
<item name="@android:windowExitAnimation">@anim/dialog_exit</item> //退出時的動畫
</style>
</resources>
位於 res/anim/dialog_enter.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="100%p" %p指相對於父容器
android:ration="600"
/>
</set>
位於 res/anim/dialog_exit.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:toYDelta="100%p"
android:ration="600" //持續時間
/>
</set>
③ 在Android應用中任意位置執行代碼彈出Dialog有什麼優雅的實現方案
寫一個基類Activity,在這裡面寫一個Dialog,這樣每個Activity繼承他,想彈出的時候調用基類的方法就行。
④ android 彈出dialog時activity的生命周期處在什麼狀態
處於pause狀態。
當 Activity失去焦點, 被一個新的非全屏的Activity 或者一個透明的Activity (如彈窗dialog)被放置在棧頂,此時的狀態叫做暫停狀態(Paused)。
此時它依然與窗口管理器保持連接,Activity依然保持活力(保持所有的狀態,成員信息,和窗口管理器保持連接),但是在系統內存極端低下的時候將被強行終止掉。所以仍然可見,但已經失去了焦點故不可與用戶進行交互。
(4)android從底部彈出dialog擴展閱讀:
activity的其它狀態:
1、運行:如果當前的activity在前台界面上時(堆棧頂端)。
2、停止:如果activity完全被另一個全屏活動遮擋住時,它將會停止。該活動也仍保留全部的狀態和成員信息,但將會被隱藏起來不再展示給用戶,並且當內存在其他地方被需要時該活動就將會被系統殺死。
3、重啟:如果activity處於暫停或者停止狀態,系統將會在內存中終止該活動無論是結束活動或者殺死進程。當它再一次展示給用戶時,它必須是完全重啟並且恢復到之前的狀態。
⑤ 如何讓Android彈出一個Dialog,這個Dialog只有一個圖片,點擊任意位置後消失
自定義dialog 寫了類繼承dialog 然後重寫 onTouchEvent方法 getAction() 然後選擇判斷這個 action case: ACTION_DOWN 或者 ACTION_MOVE 事件的時候 cancel() return true 就好了
⑥ android底部彈窗的幾種實現方式
android底部彈窗的話,可以考慮popuwindow,這是android通用的方案,上面可以有listview和各種自定義的布局,還可以設置彈窗的位置。也可以考慮dialog
⑦ 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();
⑧ android dialog彈出框有哪些
private void dialog1(){
AlertDialog.Builder builder=new AlertDialog.Builder(this); //先得到構造器
builder.setTitle("提示"); //設置標題
builder.setMessage("是否確認退出?"); //設置內容
builder.setIcon(R.mipmap.ic_launcher);//設置圖標,圖片id即可
builder.setPositiveButton("確定", new DialogInterface.OnClickListener() { //設置確定按鈕
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss(); //關閉dialog
Toast.makeText(MainActivity.this, "確認" + which, Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { //設置取消按鈕
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Toast.makeText(MainActivity.this, "取消" + which, Toast.LENGTH_SHORT).show();
}
});
builder.setNeutralButton("忽略", new DialogInterface.OnClickListener() {//設置忽略按鈕
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Toast.makeText(MainActivity.this, "忽略" + which, Toast.LENGTH_SHORT).show();
}
});
//參數都設置完成了,創建並顯示出來
builder.create().show();
}
⑨ android點擊屏幕彈出底部隱藏的菜單欄
1、點擊屏幕可重寫ontouchEvent方法。監聽。
2、彈出菜單、消失,可隨便寫個布局。設置他visivible和invisible顯示隱藏即可。也可用dialog、popwindow之類的對話框調用show方法和dismiss方法。
3、過幾秒,可用timer定時器,也可用hander延時發消息的方法來做。handler.sendMessageDelay(5000)大概這么個方法,括弧里是毫秒。5000就是5秒。然後handler接收到消息設置你的控制項隱藏或者dismiss.
⑩ android 中彈出的dialog怎麼回收內存
dismissDialog(int):當你准備關閉對話框時,你可以通過對這個對話框調用dismiss()來消除它。如果需要,你還可以從這個Activity中調用dismissDialog(int id) 方法,這實際上將為你對這個對話框調用dismiss() 方法。 如果你想使用onCreateDialog(int id) 方法來管理你對話框的狀態(就如同在前面的章節討論的那樣),然後每次你的對話框消除的時候,這個對話框對象的狀態將由該Activity保留。如果你決定不再需要這個對象或者清除該狀態是重要的,那麼你應該調用removeDialog(int id)。