自定义Dialog含有Editte自动弹出软键盘
来源:互联网 发布:js重置form表单 编辑:程序博客网 时间:2024/06/05 18:11
在自定义的Dialog中有的含有EditText组件,需要在dialog显示的时候使EditText获取焦点,并且显示软件盘。
上代码:
public class AlertDialog extends Dialog implements View.OnClickListener { private Context context; private CallBackListener listener; public AlertDialog(Context context, int theme, CallBackListener listener) { super(context, theme); //传入主题,隐藏默认背景 // TODO Auto-generated constructor stub this.context = context; this.listener = listener; } @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); //不适用Dialog的Title init(); } public void init() { LayoutInflater inflater = LayoutInflater.from(context); View view = inflater.inflate(R.layout.activity_buy_bag, null); setContentView(view); view.findViewById(R.id.dialog_ok).setOnClickListener(this); view.findViewById(R.id.dialog_cancel).setOnClickListener(this); view.findViewById(R.id.buy_bag_imageView4).setOnClickListener(this); view.findViewById(R.id.buy_bag_imageView5).setOnClickListener(this); Window dialogWindow = getWindow(); WindowManager.LayoutParams lp = dialogWindow.getAttributes(); DisplayMetrics d = context.getResources().getDisplayMetrics(); lp.width = (int) (d.widthPixels * 0.8); // dialogWindow.setAttributes(lp); //设置为手机宽度的0.8 setOnShowListener(new OnShowListener() { public void onShow(DialogInterface dialog) { InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(edt, InputMethodManager.SHOW_IMPLICIT); } }); } @Override public void onClick(View arg0) { switch (arg0.getId()) { case R.id.dialog_ok:
listener.getSingleEdtNum(X x,X x ....); //接口回调
dismiss();
break;
case R.id.dialog_cancel:
dismiss();
break;
case R.id.buy_bag_imageView5: //“加操作”
break;
case R.id.buy_bag_imageView4: //“减操作”
break;
}
}
public interface CallBackListener {
public void getSingleEdtNum(X x, X,x.....); //activity实现接口 }}
布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/pay_pwd_dialog_cancle"> <RelativeLayout android:id="@+id/rl_dialog_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerInParent="true" android:background="#22929393" android:paddingBottom="20dp"> <TextView android:id="@+id/dialog_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:gravity="center" android:text="修改购买数量" android:textColor="@color/gray" android:textSize="20sp" /> <LinearLayout android:id="@+id/alertDialog_edt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/dialog_title" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:background="@drawable/buttonstyle_buy_bag_data_corner" android:orientation="horizontal"> <LinearLayout android:id="@+id/buy_bag_imageView4" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/buttonstyle_buy_bag_data_corner"> <ImageView android:layout_width="25dp" android:layout_height="15dp" android:layout_gravity="center_vertical" android:layout_marginLeft="10dp" android:background="@drawable/buy_plus" /> </LinearLayout> <EditText android:id="@+id/dialog_edt" android:layout_width="50dp" android:layout_height="45dp" android:layout_marginTop="2dp" android:background="@null" android:gravity="center" android:maxLength="2" android:text="1" android:inputType="number" android:textSize="@dimen/textsize_14" /> <LinearLayout android:id="@+id/buy_bag_imageView5" android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/buttonstyle_buy_bag_data_corner"> <ImageView android:layout_width="25dp" android:layout_height="25dp" android:layout_gravity="center_vertical" android:layout_marginLeft="10dp" android:background="@drawable/buy_add" /> </LinearLayout> </LinearLayout> <View android:layout_below="@id/alertDialog_edt" android:layout_marginTop="20dp" android:id="@+id/alertLine" android:layout_width="match_parent" android:layout_height="0.2dp" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:background="#aaa"></View> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/alertLine" android:layout_marginTop="20dp" android:gravity="center" android:orientation="horizontal" android:paddingLeft="20dp" android:paddingRight="20dp"> <Button android:id="@+id/dialog_ok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/pay_pwd_dialog_sure1" android:text="确定" android:textColor="@color/white" /> <View android:layout_width="20dp" android:layout_height="10dp"></View> <Button android:id="@+id/dialog_cancel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_weight="1" android:background="@drawable/pay_pwd_dialog_cancle" android:text="取消" /> </LinearLayout> </RelativeLayout></RelativeLayout>
0 0
- 自定义Dialog含有Editte自动弹出软键盘
- Dialog自动弹出软键盘
- 自定义Dialog弹出软键盘
- dialog弹出时自动弹出软键盘
- dialog 自动弹出软键盘的问题
- 带输入框DIalog自动弹出软键盘
- Android Dialog 中的EditText自动获取焦点弹出软键盘
- 解决自定义Dialog无法弹出软键盘的问题
- Dialog 中有EditText时,打开自动弹出软键盘,关闭时隐藏软键盘
- dialog中含有edittext弹出时自动弹出输入法
- Android AlertDiaog自定义EditText自动弹出软键盘
- Android dialog软键盘弹出顶起View
- Dialog中EditText 弹出软键盘
- Android Dialog中的EditText 弹出软键盘
- Dialog中EditText不能弹出软键盘
- android 自动弹出软键盘
- android自动弹出软键盘
- 禁止自动弹出软键盘
- 【面试之java容器】数组、字符容器,对象容器
- Ubuntu“无法解析或打开软件包的列表或是状态文件”的解决办法。
- BZOJ 3545: [ONTAK2010]Peaks|Splay启发式合并
- 41.Which two statements are true regarding views? (Choose two.)
- [Lintcode]Plus One
- 自定义Dialog含有Editte自动弹出软键盘
- adr adrl ldr mov总结整理
- initrd和initramfs的区别
- iOS开发, tabbar自定义图片
- WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 解决办法
- HDOJ+DFS使用了stack+貌似题目设计不合理,那个方向数组+DFS的标记和stack模板
- 用perl实现简单的遗传算法
- JAVA学习【6】JAVA中i++与++i的不同
- Css弹出菜单样式