一个自定义的修改用户名的dialog
来源:互联网 发布:淘宝防狼神器 编辑:程序博客网 时间:2024/06/08 01:09
1.布局文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/rectangle_with_corners_shape1"android:gravity="center" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="编辑姓名" android:paddingTop="20dp" android:paddingBottom="20dp" android:textSize="20dp" android:textStyle="normal" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginLeft="16dp" android:layout_marginRight="16dp" android:background="@drawable/rectangle_with_corners_shape1" android:gravity="center_vertical" > <EditText android:id="@+id/et_change_name" android:layout_width="wrap_content" android:layout_height="40dp" android:singleLine="true" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:background="@null" android:hint="@string/regist_name_hint" > </EditText> <ImageView android:id="@+id/iv_delete" android:layout_width="20dp" android:layout_height="20dp" android:layout_marginRight="10dp" android:background="@drawable/edittext_delete_textview" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingBottom="20dp" android:paddingTop="20dp" android:gravity="center_horizontal" > <Button android:id="@+id/btn_change_name_cancle" android:layout_width="80dp" android:layout_height="34dp" android:text="取消" android:textSize="16dp" android:background="@drawable/rectangle_with_corners_shape1" /> <Button android:id="@+id/btn_change_name_confirm" android:layout_width="80dp" android:layout_height="34dp" android:layout_marginLeft="20dp" android:text="确定" android:textSize="16dp" android:background="@drawable/rectangle_with_corners_shape1" /> </LinearLayout></LinearLayout>
其中用到的背景形状shape:
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <!-- 填充颜色 --> <solid android:color="#FFFFFF" /> <!-- 矩形的圆角半径 --> <corners android:bottomLeftRadius="10dp" android:bottomRightRadius="10dp" android:topLeftRadius="10dp" android:topRightRadius="10dp" /> <!-- 线的宽度,颜色灰色 --> <stroke android:width="1dp" android:color="#ccc" > </stroke></shape>
效果:
2.自定义的dialog,并给相应的控件设置监听
public class ChangeNameDialog extends Dialog {private ImageView iv_delete; private EditText et_change_name; private Button btn_change_name_cancle; private Button btn_change_name_confirm; public ChangeNameDialog(Context context) {super(context,R.style.change_name_dialog);View view = View.inflate(context, R.layout.change_name_dialog, null);iv_delete = (ImageView) view.findViewById(R.id.iv_delete);et_change_name = (EditText) view.findViewById(R.id.et_change_name);btn_change_name_cancle = (Button) view.findViewById(R.id.btn_change_name_cancle);btn_change_name_confirm = (Button) view.findViewById(R.id.btn_change_name_confirm);setContentView(view);setCancelable(false); } public EditText getEditText() {return et_change_name;} /** * 确定键监听器 */ public void setOnPositiveListener(View.OnClickListener listener){ btn_change_name_confirm.setOnClickListener(listener); } /** * 取消键监听器 */ public void setOnNegativeListener(View.OnClickListener listener){ btn_change_name_cancle.setOnClickListener(listener); } /** * 删除键监听器 */ public void setOnDelete(View.OnClickListener listener) {iv_delete.setOnClickListener(listener);} }
3.在页面的使用
<pre name="code" class="java"><span style="white-space:pre"></span>ChangeNameDialog <span style="font-family: Arial, Helvetica, sans-serif;">changeNameDialog = new ChangeNameDialog(context);</span>changeNameDialog.show();final EditText editText = changeNameDialog.getEditText();String oldName = DataUtil.getMemberByMemberIdCurr(BaseApplication.getInstance().getParam(Params.MEMBER_ID, 0)).getName();editText.setText(oldName);editText.setSelection(oldName.length());changeNameDialog.setOnPositiveListener(new OnClickListener() {@Overridepublic void onClick(View v) {newName = editText.getText().toString().trim();//必须在按钮点击事件中获取输入框中的数据,否则拿不到的。if (Util.isEmpty(newName)) {ToastUtil.showToast(context, "请输入姓名");}else {//上传名字BaseApplication.getInstance().getMemberMessageManager().changeName(newName);changeNameDialog.dismiss();editText.setText("");}}});changeNameDialog.setOnNegativeListener(new OnClickListener() {@Overridepublic void onClick(View v) {changeNameDialog.dismiss();editText.setText("");}});changeNameDialog.setOnDelete(new OnClickListener() {@Overridepublic void onClick(View v) {editText.setText("");}});
0 0
- 一个自定义的修改用户名的dialog
- 一个简单的自定义Dialog
- 一个简单的自定义Dialog
- 自定义一个只有一个图片的dialog
- android 如何修改自定义dialog的宽度
- 自定义一个在底部显示的dialog
- 实现一个简单的自定义Dialog弹窗。
- 修改Subclipse的用户名
- 修改Dialog的标题
- 自定义Dialog的方法
- 自定义自己的Dialog
- 自定义自己的Dialog
- 自定义dialog的
- android Dialog的自定义
- 各种自定义的dialog
- 自定义的dialog
- SWT的自定义Dialog
- 自定义可扩性很强的Dialog
- 【7.89%】【BNUOJ 52303】Floyd-Warshall
- 华硕笔记本从win10改成win7后,USB3.0无法使用
- 理解Java对象序列化
- 顺序表应用7:最大子段和之分治递归法
- 数据类型
- 一个自定义的修改用户名的dialog
- 数据结构:从堆到“漏斗”
- Linux下静态链接库与动态链接库的区别
- 基于Eclipse的spring开发环境搭建
- 7天入门php-cookie与session
- Hadoop(14) MR Combiner
- UVa 11324 最大团(强连通分量+dp最长路)
- 命名规范
- JavaScript 依赖管理