今日头条 即时推送 弹窗,今日头条弹屏怎么关闭

本文讲述了今日头条弹窗功能关闭的原因,以及如何自定义Dialog以解决弹出EditText键盘问题,包括清除FLAG_ALT_FOCUSABLE_IM设置、设置软键盘常显和处理返回键事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好,给大家分享一下今日头条弹窗功能已关闭怎么回事,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

开始

c17d9ccc4fb8

LItfGGH.gif

自定义Dialog

首先是自定义一个评论的带 EditText 的 dailog (这个可以看我前面的文章http://www.jianshu.com/p/41a6c1c2237f)

处理 Dialog 中 Edittext 键盘不弹出

键盘无法弹出处理, 这是因为系统给 Dialog 设置了 WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM

这个参数会让Dialog遮挡住软键盘,显示在软键盘的前面。

//使得点击 Dialog 中的EditText 可以弹出键盘

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);

//总是显示键盘

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

处理软键盘显示时,点击返回键关闭 dialog 和软键盘

系统在处理返回键时, 如果显示了软键盘, 则会先处理软键盘的隐藏

这里我们自定义 EditText 来处里软键盘显示时的返回键的事件监听

自定义 EditText 重写 dispatchKeyEventPreIme() 事件

@Override

public boolean dispatchKeyEventPreIme(KeyEvent event) {

if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {

if (callBack != null) {

callBack.callBack();

}

return true;

}

return super.dispatchKeyEventPreIme(event);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值