Tag: android dialog

当应用程序在后台时正确的解除DialogFragment的方法

我开始使用DialogFragment,因为他们通过改变方向和东西很好地工作。 但是我遇到了一个很讨厌的问题。 我有AsyncTask显示进度DialogFragment并closuresonPostExecute 。 一切工作正常,除非当应用程序在后台(例如按下主屏幕button后) onPostExecute时发生。 然后,我得到了DialogFragment消失的这个错误 – “ Can not perform this action after onSaveInstanceState ”。 卫生署。 定期的对话框工作得很好。 但不是FragmentDialog。 所以我想知道,当应用程序在后台时解除DialogFragment的正确方法是什么? 我还没有真正与Fragments合作过,所以我觉得我只是错过了一些东西。

无法使自定义的DialogFragment在片段上透明

我需要创build一个片段(占用整个屏幕)的对话框。 对话框需要是一个浮动的对话框,它将被定位在片段之外,并且片段在片段之外变暗。 对于自定义的对话框,我有一个linearLayout有弯曲的边缘,无论我做什么,对话框都有一个黑色边界(非常小)。 我已经尝试了一切,使其透明,并消失(所有的对话框只是线性布局 – 弯曲的框) 对于DialogFragment,这是我的onCreateView @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ LinearLayout layout =(LinearLayout)inflater.inflate(R.layout.custom_dialog, null); LinearLayout item = (LinearLayout)layout.findViewById(R.id.display_item); populateItemData(item, inflater); return layout; } custom_dialog只是一个将android:backgroung设置为#000000的LinearLayout 这是我自定义对话框的样式 <style name="CustomDialog" parent="android:style/Theme.Dialog"> <item name="android:windowBackground">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:alwaysDrawnWithCache">false</item> <item name="android:windowContentOverlay">@null</item> </style> 我尝试了这种风格的各种组合(从我在网上看到的),我不能摆脱那种恼人的黑色边界,我可以把它绘成白色或任何其他颜色,如果我设置LinearLayout背景以外的任何东西#000000 … 我已经花了3-4个小时,我希望别人可以帮忙…

如何在对话框中保持沉浸模式?

当我的活动显示自定义对话框时,如何维护新的沉浸模式? 我使用这段代码来保持对话框中的沉浸模式,但是通过这个解决scheme,当我启动我的自定义对话框时,NavBar出现不到一秒钟,然后它就消失了。 这是一个video,更好地解释了这个问题(看看NavBar出现在屏幕的底部):http: //youtu.be/epnd5ghey8g 我如何避免这种行为? 码 我申请中所有活动的父亲: public abstract class ImmersiveActivity extends Activity { @SuppressLint("NewApi") private void disableImmersiveMode() { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) { getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_FULLSCREEN); } } @SuppressLint("NewApi") private void enableImmersiveMode() { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) { getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); } } /** * Set […]

Android'无法添加窗口 – 令牌null不适用于应用程序'exception

当我尝试打开对话框时,出现以下Androidexception。 有人可以帮我理解发生了什么,我该如何解决这个问题? android.view.WindowManager$BadTokenException: Unable to add window — token null is not for an application at android.view.ViewRoot.setView(ViewRoot.java:509) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) at android.app.Dialog.show(Dialog.java:241)

Android的DialogFragment与对话框

Googlebuild议我们使用DialogFragment而不是使用Fragments API的简单Dialog ,但是使用隔离的DialogFragment作为简单的Yes-No确认消息框是荒谬的。 这种情况下的最佳做法是什么?

如何显示对话框以确认用户希望退出Android活动?

我一直试图performance出“你想退出吗?” 用户尝试退出活动时的对话框types。 但是我找不到合适的API钩子。 Activity.onUserLeaveHint()最初看起来很有前途,但是我找不到一种方法来停止Activity的完成。

如何创build一个数字select器对话框?

我想能够创build一个对话框,允许用户从指定的范围内select一个数字。 我知道现在有一些小部件(比如那些来自静态编码和SimonVT的小部件)已经这样做了,但是我很难将这些小部件正确地集成到我的应用程序中。 另外,这些主要是小部件。 我想要的东西和android开发者页面教程非常相似。 我也检查了NumberPicker的文档,它说去检查TimePicker和DatePicker的例子,但他们只显示如何使用时间和dateselect器,我很难感觉我的代码周围的方式,并试图转换时间select器只是一个正常的号码选取器。 有没有人有任何想法从哪里开始? 我一直在寻找最后3个小时的解决scheme无济于事。

更改ProgressDialog的背景

我正在尝试更改ProgressDialog的背景。 我search了networking,发现了各种build议(如如何从对话框中删除边框? ),但我无法取代ProgressDialog的实际背景。 相反,我在对话框后面看到另一个背景(黄色): 我的风格: <style name="StyledDialog" parent="@android:style/Theme.Dialog"> <item name="android:windowBackground">@drawable/panel_background</item> </style> 启动ProgressDialog的代码: ProgressDialog dialog = new ProgressDialog(this, R.style.StyledDialog); dialog.setTitle("The title"); dialog.setMessage("The message."); dialog.show(); 可绘制的是包含在SDK中的相同的9补丁,我只是改变了颜色。 我将不胜感激一些提示,我做错了什么。

如何设置DialogFragment的宽度和高度?

我在一个xml布局文件(我们称之为layout_mydialogfragment.xml )中指定了DialogFragment的布局,特别是它的layout_width和layout_height属性( 100dp每个都是100dp )。 然后我在DialogFragment的onCreateView(…)方法中膨胀这个布局,如下所示: View view = inflater.inflate(R.layout.layout_mydialogfragment, container, false); 不幸的是,我发现当我的对话框(DialogFragment)出现时,它不尊重在其xml布局文件中指定的layout_width和layout_height (并且我的对话框根据内容不断缩小或扩大)。 任何人都知道是否可以让我的对话框尊重在其布局文件中指定的layout_width和layout_height ? 此刻我不得不在我的DialogFragment的onResume()方法中再次指定我的对话框的宽度和高度,如下所示… getDialog().getWindow().setLayout(width, height); …因此,不必要的是,必须记住将来对对话的宽度和高度进行两处修改。

如何在对话框外单击对话框来closures对话框?

我为我的应用程序实现了一个自定义对话框。 我想实现,当用户点击对话框外,对话框将被解雇。 我该怎么做呢?