标签: dialog

Android:Dialog中的EditText不会拉起软键盘

所以我有一个似乎常见的问题,就是我的对话框中的EditText在获得焦点时不会显示出来.我已经看过几个解决方法,比如在这个帖子中,这一个这一个(还有更多),但我从来没有见过一个令人满意的解释,为什么这首先发生.

我更倾向于让Android使用自己的EditTexts默认行为,而不是构建我自己的行为,但似乎每个人(在那些线程中)已经接受了Dialogs中EditTexts的默认行为是只给光标而没有键盘.那为什么会这样?

为了记录,这些解决方法似乎都没有对我有用 - 我最接近的是强制键盘出现对话框下面(使用InputMethodManager.toggleSoftKeyboard(*)).我的特殊配置是API15,EditText显示在AlertDialog中ListView的页脚中.设置了EditText android:focusable ="true",onFocusChangeListener 正在接收焦点事件.

编辑:

根据要求,这是我正在使用的特定代码段.我不打算整个布局,但在这个特定的应用程序中,EditText响应于按下对话框上的按钮而出现(类似于动作视图).它包含在RelativeLayout中,默认情况下可见性"已消失":

 <RelativeLayout 
       android:id="@+id/relLay"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_centerVertical="true"
       android:visibility="gone"
       android:layout_marginTop="5dp"
       android:layout_marginBottom="5dp">

        <ImageButton
            android:id="@+id/cancelBut"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:background="@color/transparent"
            android:src="@drawable/cancelButton" 
            android:layout_margin="5dp"/>

        <ImageButton
            android:id="@+id/okBut"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@id/cancelBut"
            android:background="@color/transparent"
            android:src="@drawable/okButton"
            android:layout_margin="5dp" />

        <EditText 
            android:id="@+id/editText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="text"
            android:focusable="true"
            android:layout_toLeftOf="@id/okBut"/>
   </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

构建它的代码将relativeLayout的可见性设置为"Visible"(并隐藏其他UI元素).根据我使用EditText的经验,这应该足以在EditText聚焦时拉起键盘.但是,出于某种原因,情况并非如此.我可以在onFocusChangeListener上设置以下内容:

    edit_text.setOnFocusChangeListener(new OnFocusChangeListener() {

            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                // For whatever reason we need to request …
Run Code Online (Sandbox Code Playgroud)

android dialog android-softkeyboard android-edittext

79
推荐指数
6
解决办法
4万
查看次数

将CSS应用于jQuery对话框按钮

所以我目前有一个带有两个按钮的jQuery对话框:Save and Close.我使用下面的代码创建对话框:

$dialogDiv.dialog({
    autoOpen: false,
    modal: true,
    width: 600,
    resizable: false,
    buttons: {
        Cancel: function() {
                        // Cancel code here
        },
        'Save': function() {
                        // Save code here
        }
    },
    close: function() {
        // Close code here (incidentally, same as Cancel code)
    }
});
Run Code Online (Sandbox Code Playgroud)

但是,使用此代码时,两个按钮的颜色相同.我希望我的取消按钮与我的保存颜色不同.有没有办法使用一些内置的jQuery选项来做到这一点?我没有从文档中获得太多帮助.

请注意,我正在创建的"取消"按钮是预定义类型,但"保存"我自己定义.不确定这是否会对问题产生任何影响.

任何帮助,将不胜感激.谢谢.

更新:共识是这里有两条道路:

  1. 使用像firebug这样的Firefox插件检查HTML ,并记下jQuery应用于按钮的CSS类,并尝试覆盖它们.注意:在我的HTML中,两个按钮都使用了完全相同的CSS类,没有唯一的ID,因此该选项已经用完了.
  2. 在打开的对话框上使用jQuery选择器来捕获我想要的按钮,然后添加一个CSS类.

我使用了第二个选项,并使用了jQuery find()方法,因为我认为这比使用更合适:first或:first-child b/c我想要更改的按钮不一定是列出的第一个按钮标记.使用find,我只需指定按钮的名称,并以这种方式添加CSS.我最终得到的代码如下:

$dialogDiv.dialog({
    autoOpen: false,
    modal: true,
    width: 600,
    resizable: false,
    buttons: {
        Cancel: function() {
                        // Cancel code here
        },
        'Save': function() …
Run Code Online (Sandbox Code Playgroud)

css jquery dialog jquery-ui button

77
推荐指数
3
解决办法
11万
查看次数

WPF:如何设置一个Dialog位置显示在应用程序的中心?

如何设置Dialog的位置来自 .ShowDialog();显示在mainWindows的中心.

这是我尝试设定位置的方式.

private void Window_Loaded(object sender, RoutedEventArgs e)
{        
    PresentationSource source = PresentationSource.FromVisual(this);
    if (source != null)
    {
        Left = ??
        Top = ??
    }
}
Run Code Online (Sandbox Code Playgroud)

wpf dialog

76
推荐指数
7
解决办法
8万
查看次数

Android:在什么情况下会出现Dialog导致onPause()被调用?

Android 活动文档中的一个片段(向下滚动到" 前景生命周期 "行)说:

活动可以频繁地进出前台 - 例如,onPause()当设备进入睡眠状态或出现对话框时调用.

我不太明白这一点.在什么情况下会发生这种情况?被onPause()称为仅如果有问题的对话的上下文是从顶部其活性的对话框将显示不同?

编辑:添加代码示例以详细说明我的疑问

通过文档中的上述引用,onPause()当下面代码中的AlertDialog(或只是Dialog)显示时,我的activity的方法是否会被调用?显示对话框时,我应该看到"onPause called"日志条目吗?

但我不认为会发生这种情况.它也不应该,如果我已正确理解Android生命周期!那么,文件指向的是什么呢?

public class LifeCycleTestActivity extends Activity {

    private static final String TAG = "LifeCycleTest";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button btn = (Button) findViewById(R.id.button1);

        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Log.d(TAG, "onClick");

                AlertDialog dialog = new AlertDialog.Builder(LifeCycleTestActivity.this).create();
                 dialog.setMessage("You Clicked on the …
Run Code Online (Sandbox Code Playgroud)

lifecycle android dialog android-lifecycle onpause

74
推荐指数
2
解决办法
2万
查看次数

WPF:创建一个对话框/提示

我需要为用户输入创建一个包含TextBox的Dialog/Prompt.我的问题是,如何在确认对话框后获取文本?通常我会为此创建一个类来保存属性中的文本.但是我想用XAML设计Dialog.因此,我会以某种方式扩展XAML代码以将TextBox的内容保存在属性中 - 但我想这对纯XAML来说是不可能的.什么是实现我想做的最好方法?如何构建一个可以从XAML定义但仍可以某种方式返回输入的对话框?谢谢你的提示!

wpf dialog prompt

73
推荐指数
4
解决办法
10万
查看次数

Android活动超过默认锁定屏幕

如何在锁定屏幕上显示ActivityDialog显示?

通过在Activity.onCreate()方法中设置各种窗口类型,我已经尝试在屏幕打开时显示我的锁定活动:

TYPE_PRIORITY_PHONE
TYPE_SYSTEM_ALERT
TYPE_KEYGUARD

和其他人一起SYSTEM_ALERT_WINDOWINTERNAL_SYSTEM_WINDOW权限.

解锁设备后,我的活动可见.

更新:

我实际上已经设法显示我自己的Activity而不是默认锁定屏幕.除非您使用HOME按钮,否则它可以完美运行

android dialog lockscreen android-windowmanager android-activity

72
推荐指数
3
解决办法
8万
查看次数

如何在JavaFX 2.0中创建和显示常见对话框(错误,警告,确认)?

如何在JavaFX 2.0中创建和显示常见对话框(错误,警告,确认)?我找不到任何"标准"类,如Dialog,DialogBox,Message或什么的.

dialog javafx-2

68
推荐指数
6
解决办法
14万
查看次数

jQueryUI模式对话框不显示关闭按钮(x)

我在ASP .NET MVC 3应用程序中使用了jQuery模式对话框.它工作正常,除了右上角没有关闭按钮.我该如何添加?

$("#dialog-modal").dialog({
            modal: true,
            autoOpen: false,
            buttons: {
                Ok: function () {
                    $(this).dialog("close");
                }
            }
        });
Run Code Online (Sandbox Code Playgroud)

jquery dialog jquery-ui asp.net-mvc-3

67
推荐指数
8
解决办法
10万
查看次数

检测后退按钮但不解除对话碎片

我有一个浮动对话框的对话框片段,其中包含一个特殊的键盘,当用户按下EditText字段时会弹出(正常的IME停止显示).

当用户按下后退按钮(就像使用普通的IME服务一样)时,我希望键盘被解除(visibility = GONE),但对话框仍然可见.然而,就我在SO和其他地方的相当广泛的阅读中所看到的,似乎没有办法做到这一点.

如果我将对话框设置为不可取消,那么我不会被onCancel()或onDismiss()通知,因为该对话框不可取消.

如果我将对话框设置为可取消,则会收到通知,但对话框将被取消.

我无法将onKeyListener附加到片段中的对话框,因为它被系统替换,以便片段可以处理对话框的生命周期.

有没有办法做到这一点?或者,为了Fragment系统的目的,是否可以访问完全围起来的关键事件的检测?

android dialog dialogfragment

65
推荐指数
8
解决办法
4万
查看次数

禁用角度材料对话框区域外的单击以关闭对话框(使用Angular Version 4.0+)

我目前正在研究Angular 4项目的密码重置页面.我们使用Angular Material来创建对话框,但是,当客户端单击对话框时,它将自动关闭.有没有办法避免对话关闭,直到我们的代码端调用"关闭"功能?或者我应该如何创建一个不可关闭的模态?

dialog modal-dialog angular-material angular

65
推荐指数
2
解决办法
5万
查看次数