Android Window弹窗效果 Android实现Window弹窗效果
科蒙@xiaomi 人气:0想了解Android实现Window弹窗效果的相关内容吗,科蒙@xiaomi在本文为您仔细讲解Android Window弹窗效果的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Android,Window,弹窗,下面大家一起来学习吧。
效果图
第一步 准备弹窗的布局,新建XML文件 photo_window
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#FFFFFFFF" android:orientation="vertical"> <TextView android:id="@+id/photo" android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:text="拍摄" android:textColor="@color/black" android:textSize="16sp" /> <TextView android:id="@+id/choose_picture" android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:text="相册选择" android:textColor="@color/black" android:textSize="16sp" /> <TextView android:id="@+id/cancel" android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:text="取消" android:textColor="@color/black" android:textSize="16sp" /> </LinearLayout>
第二步 直接引用或者新建类,这里是新建类
public class ShowBottomDialog { private View view; private Dialog dialog; private OnItemClick onItemClick; public ShowBottomDialog(Context context) { //1、使用Dialog、设置style dialog = new Dialog(context, R.style.DialogTheme); //2、设置布局 view = View.inflate(context, R.layout.photo_window, null); dialog.setContentView(view); Window window = dialog.getWindow(); //设置弹出位置 window.setGravity(Gravity.END); //设置对话框大小 window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); /** * 内部点击事件 写了一个 其他自写 dialog.findViewById(R.id.photo).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // Toast.makeText(context,"photo",Toast.LENGTH_SHORT).show(); // dialog.dismiss(); if(onItemClick!=null){ onItemClick.onItemClick(view); } } }); **/ } //展示 public void show(){ dialog.show(); } //关闭 public void dismiss(){ dialog.dismiss(); } public interface OnItemClick{ void onItemClick(View view); } public void setOnItemClickListener(OnItemClick onItemClickListener){ this.onItemClick=onItemClickListener; } }
第三步引用
ShowBottomDialog showBottomDialog=new ShowBottomDialog(this); showBottomDialog.show(); /** showBottomDialog.setOnItemClickListener(new ShowBottomDialog.OnItemClick() { @Override public void onItemClick(View view) { switch (view.getId()){ //do something } } });**/
扩展
其他属性设置可以自己搜一下
加载全部内容