圆角PopupWindow对话框和圆角EditText.doc_第1页
圆角PopupWindow对话框和圆角EditText.doc_第2页
圆角PopupWindow对话框和圆角EditText.doc_第3页
圆角PopupWindow对话框和圆角EditText.doc_第4页
圆角PopupWindow对话框和圆角EditText.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习资料收集于网络,仅供参考圆角PopupWindow对话框和圆角EditText Android默认的PopupWindow和EditText的外观是矩形框,看起来不是太好,本示例通过设置布局View的背景和PopupWindowd对象的背景,实现有白色圆角边框的对话框效果和圆角文字编辑框。代码如下(关键部分是背景布局XML):对话框弹出效果图:Java代码 1. package com.test; 2.3. import android.app.Activity; 4. import android.content.Context; 5. import android.os.Bundle; 6. import android.text.InputType; 7. import android.view.Gravity; 8. import android.view.LayoutInflater; 9. import android.view.View; 10. import android.view.View.OnClickListener; 11. import android.widget.Button; 12. import android.widget.EditText; 13. import android.widget.PopupWindow; 14. import android.widget.LinearLayout.LayoutParams; 15.16.17. public class RoundCorner extends Activity 18.19. Button mButton; 20.21. Override 22. public void onCreate(Bundle savedInstanceState) 23. super.onCreate(savedInstanceState); 24. setContentView(R.layout.main); 25.26. / 定义按钮 27. mButton = (Button) this.findViewById(R.id.Button01); 28. mButton.setOnClickListener(new ClickEvent(); 29.30. / 两个圆角文字编辑框 31. EditText et1 = (EditText) this.findViewById(R.id.roundedtext1); 32. EditText et2 = (EditText) this.findViewById(R.id.roundedtext2); 33. et1.setInputType(InputType.TYPE_TEXT_FLAG_AUTO_CORRECT); 34. et2.setInputType(InputType.TYPE_NULL); /不显示软键盘 35.36. 37.38. / 处理按键事件 39. class ClickEvent implements OnClickListener 40. Override 41. public void onClick(View v) 42. if (v = mButton) 43. showRoundCornerDialog(RoundCorner.this, RoundCorner.this.findViewById(R.id.Button01); 44. 45. 46. 47.48. / 显示圆角对话框 49. public void showRoundCornerDialog(Context context, View parent) 50. LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 51.52. / 获取圆角对话框布局View,背景设为圆角 53. final View dialogView = inflater.inflate(R.layout.popupwindow, null, false); 54. dialogView.setBackgroundResource(R.drawable.rounded_corners_view); 55.56. / 创建弹出对话框,设置弹出对话框的背景为圆角 57. final PopupWindow pw = new PopupWindow(dialogView, 300, LayoutParams.WRAP_CONTENT, true); 58. pw.setBackgroundDrawable(getResources().getDrawable(R.drawable.rounded_corners_pop); 59.60. /注:上面的设背景操作为重点部分,可以自行注释掉其中一个或两个设背景操作,查看对话框效果 61. /注:上面的设背景操作为重点部分,可以自行注释掉其中一个或两个设背景操作,查看对话框效果 62.63. final EditText edtUsername = (EditText) dialogView.findViewById(R.id.username_edit); 64. final EditText edtPassword = (EditText) dialogView.findViewById(R.id.password_edit); 65. edtUsername.setHint(用户名.); / 设置提示语 66. edtPassword.setHint(密码.); / 设置提示语 67.68. / OK按钮及其处理事件 69. Button btnOK = (Button) dialogView.findViewById(R.id.BtnOK); 70. btnOK.setOnClickListener(new OnClickListener() 71. Override 72. public void onClick(View v) 73. / 设置文本框内容 74. edtUsername.setText(username); 75. edtPassword.setText(password); 76. 77. ); 78.79. / Cancel按钮及其处理事件 80. Button btnCancel = (Button) dialogView.findViewById(R.id.BtnCancel); 81. btnCancel.setOnClickListener(new OnClickListener() 82. Override 83. public void onClick(View v) 84. pw.dismiss();/ 关闭 85. 86. ); 87.88. / 显示RoundCorner对话框 89. pw.showAtLocation(parent, Gravity.CENTER|Gravity.BOTTOM, 0, 0); 90. 91.92. package com.test;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.text.InputType;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.PopupWindow;import android.widget.LinearLayout.LayoutParams;public class RoundCorner extends Activity Button mButton; Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.main);/ 定义按钮mButton = (Button) this.findViewById(R.id.Button01);mButton.setOnClickListener(new ClickEvent();/ 两个圆角文字编辑框EditText et1 = (EditText) this.findViewById(R.id.roundedtext1);EditText et2 = (EditText) this.findViewById(R.id.roundedtext2);et1.setInputType(InputType.TYPE_TEXT_FLAG_AUTO_CORRECT);et2.setInputType(InputType.TYPE_NULL); /不显示软键盘/ 处理按键事件class ClickEvent implements OnClickListener Overridepublic void onClick(View v) if (v = mButton) showRoundCornerDialog(RoundCorner.this, RoundCorner.this.findViewById(R.id.Button01);/ 显示圆角对话框public void showRoundCornerDialog(Context context, View parent) LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);/ 获取圆角对话框布局View,背景设为圆角final View dialogView = inflater.inflate(R.layout.popupwindow, null, false);dialogView.setBackgroundResource(R.drawable.rounded_corners_view); / 创建弹出对话框,设置弹出对话框的背景为圆角 final PopupWindow pw = new PopupWindow(dialogView, 300, LayoutParams.WRAP_CONTENT, true);pw.setBackgroundDrawable(getResources().getDrawable(R.drawable.rounded_corners_pop);/注:上面的设背景操作为重点部分,可以自行注释掉其中一个或两个设背景操作,查看对话框效果/注:上面的设背景操作为重点部分,可以自行注释掉其中一个或两个设背景操作,查看对话框效果final EditText edtUsername = (EditText) dialogView.findViewById(R.id.username_edit);final EditText edtPassword = (EditText) dialogView.findViewById(R.id.password_edit);edtUsername.setHint(用户名.); / 设置提示语edtPassword.setHint(密码.); / 设置提示语/ OK按钮及其处理事件Button btnOK = (Button) dialogView.findViewById(R.id.BtnOK);btnOK.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) / 设置文本框内容edtUsername.setText(username);edtPassword.setText(password););/ Cancel按钮及其处理事件Button btnCancel = (Button) dialogView.findViewById(R.id.BtnCancel);btnCancel.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) pw.dismiss();/ 关闭);/ 显示RoundCorner对话框pw.showAtLocation(parent, Gra

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论