Comments (7)
I just had the same issue and was able to solve it.
Basically what you have to do is calling rootView.getViewTreeObserver().dispatchOnGlobalLayout()
after calling emojiPopup.toggle()
.
Background
Internally, EmojiPopup
relies on a ViewTreeObserver.OnGlobalLayoutListener
to get notified when the keyboard comes into view. For some reason this does not work for all layouts and the listener never gets called. By calling rootView.getViewTreeObserver().dispatchOnGlobalLayout()
we signalize the listener that the keyboard is now out ourself.
from emoji.
Thx for the fix @vanniktech! Android really is a never ending nightmare of workarounds…
from emoji.
We found out that the 0.2 version does not have this problem.
I think this commit broke it:
0f0b727
The listener is only attached if if (!popupWindow.isShowing()) {
and before that commit the listener was attached in the constructor.
I'll bisect this bug and find out if this is indeed the commit that broke it.
from emoji.
Thanks for the detailed bug report. Yeah i also got some other issues that version 0.3.0 broke toggling. In all applications that I'm using the library everything still worked.
Did the workaround from @rubengees fix the issue?
from emoji.
It did indeed fix the issue. We are currently looking if there are still issues on some devices. So far it looks like the workaround is doing it's job.
Qabel/qabel-android@1cecf3f
from emoji.
Alright thanks, good to know. I'll also try to investigate further. I'm trying to once and for all try to fix this issue with 0.4.0.
from emoji.
@audax thanks again I just merged #64 which contains your fix. You can try 0.4.0-SNAPSHOT
out. I'll cut a release soon.
from emoji.
Related Issues (20)
- new emojis do not show good on textview HOT 7
- Make compatible with jitpack HOT 1
- Switch GoogleCompat to emoji2 HOT 3
- popupWindowHeight does not seem to have any effect on the displayed hight HOT 3
- Make EmojiManager categories and/or emojiProvider public HOT 3
- SearchInPlaceTrait sometimes opens new popup HOT 1
- EmojiView(without edittext) cannot be added into another view HOT 5
- Compose incompatible HOT 2
- import com.vanniktech.emoji.EmojiTextView not working HOT 5
- import com.vanniktech.emoji.EmojiTextView not working HOT 3
- error OutOfMemoryError com.vanniktech.emoji.EmojiView.tearDown HOT 1
- Indents suggestions HOT 1
- EmojiEditText: Support copy/paste/cut HOT 5
- Emoji pop-up keyboard sometime display no-emoji HOT 1
- Duplicate classes using version 0.16.0 HOT 1
- emoji_text_view xml doesnt show HOT 1
- Emoji Popup does not overlay the whole keyboard HOT 2
- Exclude Some Emojis HOT 1
- iOS 16.4 emojis HOT 3
- Error while evaluating property 'frameworkName' of task ':emoji:generateDummyFramework'. Collection is empty HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from emoji.