Android实现Window弹窗效果
本文实例为大家分享了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
}
}
});**/
扩展
其他属性设置可以自己搜一下
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
以上是 Android实现Window弹窗效果 的全部内容, 来源链接: utcz.com/p/244025.html