没有做过这种效果,但是我可以大概提供一个思路:
  首先你要在点击输入框后弹出软键盘,那么,你就必须得先为你的输入框注册一个点击事件监听器:OnClickListener
 其次,在监听器内实现你想完成的工作,网上有很多类似的例子,像楼主推荐一个:
http://aijiawang-126-com.iteye.com/blog/662088 希望对你有帮助

解决方案 »

  1.   

    按照这个方法试了,在执行弹出软键盘之后调用im.isActive()判断软键盘是否有效,得到的值是false,横屏竖屏下结果一样。
      

  2.   

    调用你dialog包含的view的 requestFocus()方法
      

  3.   

    可以控制你的软件盘的显示if(hasFocus){
    ((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).showSoftInput(view, 0);
    }
      

  4.   

    这里自己做了件事 ,不知道算不算是错误
    开始我的做法是,定义一个dialog,继承自alertdialog,然后里面全部的布局都是自己写的,按钮采用的也是imagebutton,而不像自带的只能在上面显示文字(要求的,没办法),这种情况下怎么弹不出软键盘。
    而一般自定义dialog都是继承自dialog类的,然后这里我们可以操作的布局只有中间那一块,在这里我放一个editview,就可以弹出软键盘,现在着手去修改按钮布局吧,哎
    另外碰到个问题,和大家分享下,在popupwindow中设置editview的时候,也是无法弹出软键盘的,但可以通过requestfoucs的函数得到焦点即可。
      

  5.   

    最后,解决了问题
    做法是:布局依然没变,整个dialog上的布局都由layout来加载
            自定义类是继承自dialog的,重写带int的构造函数,这个参数是用来加载dialog的主题的
            然后在string.xml中定义主题
    代码如下:<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:background">@android:color/black</item>
    <item name="android:windowBackground">@null</item>
    <item name="android:backgroundDimEnabled">false</item><!--模糊 -->
    </style>
      

  6.   


    自定义dialog,继承自Dialog类(而非alertdialog),重写带有主题的构造方法,然后你想生成dialog的时候,用该构造方法构造一个dialog即可。
    主题的代码在8楼贴出。
      

  7.   


    我的测试与理解:大家谈的是 AlertDialog, 这里楼主的解决办法是  抛弃 AlertDialog这层, 直接继承Dialog...经过我的测试, 确实OK 其实,不用楼主提供的主题, 直接用 Dialog 默认主题, 软键盘也能正常 弹出。。 测试代码如下:
    LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
    mLayout = (LinearLayout) inflater.inflate(R.layout.alert_add_new_member, null);Dialog mDialog = new Dialog(CustomAlertDialog.this);
    mDialog.addContentView(mLayout, new LinearLayout.LayoutParams(-2,-2));
    mDialog.show();所以,与楼主使用什么主题 无关不过楼主的主题 与 默认的主题的区别 在:
    <item name="android:windowNoTitle">true</item>
    默认的主题是没有上面这个的,楼主加了这个。。默认的主题由于没有这个属性,导致弹出的输入法与对话框有部分重叠,很难看。
    加上这个属性, 弹出的输入法与对话框不会出现重叠,一上一下,错落有致。。体验上很舒服。。所以,建议大家自定义dialog的时候, 最好加上 <item name="android:windowNoTitle">true</item>
      

  8.   

    补上:1 也不需要自定义一个继承Dialog的子类。。 直接使用系统Dialog就行
    2 也不需要自定义啥主题, 默认主题就可以。  ===========================   结帖  ============================
      

  9.   

    正好遇到这个问题,搜到这个贴的。我也是自定义一个Dialog继承自AlertDialog,没有办法弹出软键盘,只改了一个地方,继承自dialog,软键盘就出来了。我猜是AlertDialog源码中本身有代码禁用了软键盘,因为AlertDialog本身是没有输入框的,android本意就是让我们自定义对话框的时候要继承自Dialog。
      

  10.   

    我去google了,google说非常有可能是因为EditText的XML中加了一个<requestFocus />,去掉的话,就可以用类似第一个回复的方法,在setOnFocusChangeListener里面写了,至少我是这样的,
      

  11.   

    还是#14说的一语中的,就把继承自AlertDialog改成继承自Dialog就Ok了,解决问题就要这样简单明了,顶一个!
      

  12.   

    还有一个方法:
    在调用show方法前先调用setView(layout),show后再调用window.setContentView(layout),两个Layout布局应该是相同的。AlertDialog ad =  new AlertDialog.Builder(context).create(); 
    ad.setView(ManagerDialogLayout_.build(context,ad));
    ad.show();
    Window window = ad.getWindow();
    window.setContentView(ManagerDialogLayout_.build(context,ad)); 
      

  13.   

    可以阅读官方文档:http://developer.android.com/reference/android/app/Dialog.html
    其中有一段:
    ote: Activities provide a facility to manage the creation, saving and restoring of dialogs. See onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), anddismissDialog(int). If these methods are used, getOwnerActivity() will return the Activity that managed this dialog.Often you will want to have a Dialog display on top of the current input method, because there is no reason for it to accept text. You can do this by setting theWindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM window flag (assuming your Dialog takes input focus, as it the default) with the following code:
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
             WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
    另外:为了防止弹出输入法时把后面的背景挤变形,可以在Manifest里添加:
    android:windowSoftInputMode="adjustPan|stateHidden"嘿嘿 我的就是这么解决的!
      

  14.   

    ManagerDialogLayout_是android那个版本的啊,我的怎么没有?