Android仿简书创作弹起弹框

Android仿简书创作弹起弹框

主要是弹框由上往下和由下往上的动画进入效果

一、思路:

定义动画效果的xml

二、效果图:

看视频更直观点:

Android开发轮子-仿简书创作弹起弹框

三、关键代码:
java 复制代码
public class DialogUtils {

    public static AlertDialog getAlertDialog(Context context) {
        return new AlertDialog.Builder(context, R.style.mydialog).setCancelable(true).create();
    }

    public static Dialog showTopDialog(final Context mContext){
        final AlertDialog dialog = getAlertDialog(mContext);
        dialog.show();
        final Window window = dialog.getWindow();
        window.setGravity(Gravity.TOP);
        window.setContentView(R.layout.dialog_create);
        window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT);

        window.setWindowAnimations(R.style.AnimTop);
        return dialog;
    }

    public static Dialog showBottomDialog(final Context mContext){
        final AlertDialog dialog = getAlertDialog(mContext);
        dialog.show();
        final Window window = dialog.getWindow();
        window.setGravity(Gravity.BOTTOM);
        window.setContentView(R.layout.dialog_create);
        window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT);

        window.setWindowAnimations(R.style.AnimBottom);
        return dialog;
    }
}
四、项目demo源码结构图:

有问题或者完整源码demo的私信我,我每天都看私信的

相关推荐
alexhilton3 小时前
Compose中初始加载逻辑究竟应该放在哪里?
android·kotlin·android jetpack
zh_xuan3 小时前
启动RN服务端口被占用
android·react native
Code-keys6 小时前
Android Codec2 Filter 算法模块开发指南
android·算法·音视频·视频编解码
y = xⁿ7 小时前
MySQL:count(1)与count(*)有什么区别,深分页问题
android·数据库·mysql
程序员陆业聪9 小时前
Android启动全景图:一次冷启动背后到底发生了什么
android
安卓程序员_谢伟光11 小时前
m3颜色定义
android·compose
麻辣璐璐12 小时前
EditText属性运用之适配RTL语言和LTR语言的输入习惯
android·xml·java·开发语言·安卓
北京自在科技12 小时前
谷歌 Find Hub 网页端全面升级:电脑可直接管理追踪器与耳机
android·ios·安卓·findmy
Rush-Rabbit12 小时前
魅族21Pro刷ColorOS16.0操作步骤
android
爪洼传承人12 小时前
AI工具MCP的配置,慢sql优化
android·数据库·sql