Comments (3)
@chitrey I solved this by adding the following in my activity which contains the slyce messaging fragment. It's a bit ugly IMO but it works.
At the end of onCreate() I added...
final View contentView = getRecyclerView();
contentView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
contentView.getWindowVisibleDisplayFrame(r);
int screenHeight = contentView.getRootView().getHeight();
// r.bottom is the position above soft keypad or device button.
// if keypad is shown, the r.bottom is smaller than that before.
int keypadHeight = screenHeight - r.bottom;
if (keypadHeight > screenHeight * 0.15) { // 0.15 ratio is perhaps enough to determine keypad height.
// keyboard is opened
if (!scrollingToBottom) {
scrollingToBottom = true;
scrollRecyclerViewToBottom(getRecyclerView());
}
}
else {
// keyboard is closed
scrollingToBottom = false;
}
}
});
private static void scrollRecyclerViewToBottom(RecyclerView recyclerView) {
RecyclerView.Adapter adapter = recyclerView.getAdapter();
if (adapter != null && adapter.getItemCount() > 0) {
recyclerView.scrollToPosition(adapter.getItemCount() - 1);
}
}
from slycemessaging.
message_recycler.apply {
val layout = LinearLayoutManager(context)
layout.stackFromEnd = true
layoutManager = layout
adapter = chatsAdapter
}
in another listener where change my data
chatsAdapter.notifyDataSetChanged()
message_recycler.scrollToPosition(listMessage.size-1)
from slycemessaging.
Thank you @camclendenin
from slycemessaging.
Related Issues (20)
- Changing local.properties to ANDROID_SDK
- More than 2 participants (group chat) are not splitted properly HOT 1
- Allow inserting a message at a specific index
- Add a listener where pre-sending logic can be enforced.
- No way to customize input bar?
- Instantiate SlyceMessagingFragment programmatically? HOT 1
- Set Avatar using Bitmap HOT 1
- setLoadMoreMessagesListener has issues loading less number of messages
- java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.app.Activity.getApplicationContext()' on a null object reference HOT 2
- Readme
- voice message
- Allow to customize messaging fragment layout and item!! HOT 1
- Scrolls upwards whenever new message is received HOT 1
- Is this project alive? HOT 5
- NullPointerException on void com.commonsware.cwac.cam2.CameraFragment.shutdown()
- Error:No service of type Factory<LoggingManagerInternal> available in ProjectScopeServices.
- How to add message from service?
- How to change text link color?
- The supplied build action failed with an exception
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 slycemessaging.