弹出对话框输入框
对话框 输入框
2023-09-14 08:59:10 时间
需求:
屏幕中间弹出一个对话框,动画效果从中间伸展放大,背景变暗,消失向中间缩小,背景变亮
private void showAddStudentDialog() { View addStudentView = LayoutInflater.from(this).inflate(R.layout.add_student_dialog, null); final PopupWindow popupWindow = new PopupWindow(addStudentView, DensityHelp.dip2px(this, 306), DensityHelp.dip2px(this, 280)); popupWindow.setOutsideTouchable(true); popupWindow.setFocusable(true); popupWindow.setBackgroundDrawable(new BitmapDrawable()); popupWindow.setAnimationStyle(R.style.add_student_dialog); popupWindow.showAtLocation(addStudentView, Gravity.CENTER, 0, 0); setWindowBgColor(0.5f); ImageView close = (ImageView) addStudentView.findViewById(R.id.close); close.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { popupWindow.dismiss(); } }); popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { setWindowBgColor(1f); } }); } private void setWindowBgColor(float alpha) { WindowManager.LayoutParams params = getWindow().getAttributes(); params.alpha = alpha; getWindow().setAttributes(params); }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="306dp" android:layout_height="280dp" android:background="@color/white" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:layout_height="52dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="新增学员" android:textColor="@color/c333333" android:textSize="16sp" /> <ImageView android:id="@+id/close" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentRight="true" android:paddingLeft="10dp" android:paddingRight="10dp" android:src="@drawable/btn_close_gray" /> </RelativeLayout> <View android:layout_width="match_parent" android:layout_height="0.5dp" android:background="@color/cF2F2F2" /> <EditText android:id="@+id/userName" android:layout_width="match_parent" android:layout_height="44dp" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" android:layout_marginTop="15dp" android:background="@drawable/usual_student_bg" android:ellipsize="end" android:hint="学员姓名" android:paddingLeft="12dp" android:paddingRight="12dp" android:singleLine="true" android:textColor="@color/c333333" android:textColorHint="@color/c999999" android:textSize="14sp" tools:text="姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名" /> <EditText android:id="@+id/phone" android:layout_width="match_parent" android:layout_height="44dp" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" android:layout_marginTop="10dp" android:background="@drawable/usual_student_bg" android:ellipsize="end" android:hint="手机号" android:paddingLeft="12dp" android:paddingRight="12dp" android:singleLine="true" android:textColor="@color/c333333" android:textColorHint="@color/c999999" android:textSize="14sp" tools:text="姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名姓名" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="20dp" android:text="请确定后填写,提交后将不能修改" android:textColor="@color/c999999" android:textSize="14sp" /> <Button android:id="@+id/submit" android:layout_width="match_parent" android:layout_height="44dp" android:layout_marginBottom="20dp" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" android:layout_marginTop="10dp" android:background="@color/ce62233" android:text="确认提交" android:textColor="@color/white" android:textSize="16sp" /> </LinearLayout>
<style name="add_student_dialog"> <item name="android:windowEnterAnimation">@anim/add_student_dialog_in</item> <item name="android:windowExitAnimation">@anim/add_student_dialog_out</item> </style>
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:duration="100" android:fromXScale="0" android:fromYScale="0" android:pivotX="50%" android:pivotY="50%" android:toXScale="1" android:toYScale="1" /> </set>
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:duration="100" android:fromXScale="1" android:fromYScale="1" android:pivotX="50%" android:pivotY="50%" android:toXScale="0" android:toYScale="0" /> </set>
相关文章
- 基于Swing的FontChooser对话框
- 使用PyQt5创建带文件对话框和文本对话框的ui窗口程序
- 【Java AWT 图形界面编程】Dialog 对话框 ( 简介 | 模式对话框 | 非模式对话框 | Dialog 构造函数 | Dialog 代码示例 | 向 Dialog 对话框添加布局组件 )
- Android API中的对话框详解手机开发
- [javaSE] GUI(打开文件对话框)详解编程语言
- javascript学习笔记(十六)系统对话框(alert、confirm、prompt)
- js拦截alert对话框另类应用
- Android修改源码解决Alertdialog触摸对话框边缘消失的问题
- php实现执行某一操作时弹出确认、取消对话框
- VC++中HTControl控制类使用之CHTDlgBase对话框基类实例