Android底部弹框的两种实现(总结)

在Android应用上,为了美观,和与IOS的统一性,众多的APP都模仿苹果使用底部弹出Dialog。


本人结合项目中使用过的,好用的实现方式分为两种:

1、自定义Dialog;

2、属性为 parent="android:Theme.Dialog"  的Activity;

两种方法的适用场景都很广泛,而且很适合直接复用(这也是为什么不用PopupWindow的原因)。


方式一主要代码:

ShareDialog.java

/**
 * Created by yanjunhui
 * on 2016/8/26.
 * email:[email protected]
 */
public class ShareDialog extends Dialog {
    private static final String TAG = "ShareDialog";

    public ShareDialog(Context context) {
        super(context, R.style.simpleDialog);
        init(context);
    }

    private void init(Context context) {
        View view = LayoutInflater.from(context).inflate(R.layout.dialog_share, null);
        setContentView(view);

        Window dialogWindow = getWindow();
        dialogWindow.setWindowAnimations(R.style.dialogstyle);
        WindowManager.LayoutParams lp = dialogWindow.getAttributes(); // 获取对话框当前的参数值
        lp.width = context.getResources().getDisplayMetrics().widthPixels; // 宽度
        dialogWindow.setAttributes(lp);
        dialogWindow.setGravity(Gravity.BOTTOM);
    }

}

styles.xml 文件

    

    


anim.xml 动画文件

dialog_enter.xml



    

dialog_exit.xml



    


布局文件
dialog_share.xml




    

        

            

            
        

        

        

        
    


实现方式二:


请自行参照另一篇博文:

http://104zz.iteye.com/blog/1685425


你可能感兴趣的:(个人)