Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
InstiApp
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
RAHUL SHARMA
InstiApp
Commits
6aff171b
Commit
6aff171b
authored
Feb 03, 2019
by
Varun Patil
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix scroll position of AppBarLayout when popping backstack
parent
350ee161
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
41 additions
and
1 deletion
+41
-1
app/src/main/java/app/insti/fragment/EventFragment.java
app/src/main/java/app/insti/fragment/EventFragment.java
+38
-0
app/src/main/res/layout/fragment_event.xml
app/src/main/res/layout/fragment_event.xml
+3
-1
No files found.
app/src/main/java/app/insti/fragment/EventFragment.java
View file @
6aff171b
...
...
@@ -12,6 +12,8 @@ import android.graphics.Rect;
import
android.net.Uri
;
import
android.os.Bundle
;
import
android.support.annotation.NonNull
;
import
android.support.design.widget.AppBarLayout
;
import
android.support.design.widget.CoordinatorLayout
;
import
android.support.design.widget.FloatingActionButton
;
import
android.support.v4.app.Fragment
;
import
android.support.v4.widget.NestedScrollView
;
...
...
@@ -73,6 +75,7 @@ public class EventFragment extends BackHandledFragment implements TransitionTarg
ImageButton
shareEventButton
;
RecyclerView
bodyRecyclerView
;
String
TAG
=
"EventFragment"
;
int
appBarOffset
=
0
;
// Hold a reference to the current animator,
// so that it can be canceled mid-way.
...
...
@@ -154,6 +157,41 @@ public class EventFragment extends BackHandledFragment implements TransitionTarg
if
(
bundle
.
getBoolean
(
Constants
.
NO_SHARED_ELEM
,
true
))
{
this
.
transitionEnd
();
}
setupAppBarLayout
();
}
/** Initialize app bar layout */
private
void
setupAppBarLayout
()
{
// Set the behavior
AppBarLayout
mAppBarLayout
=
getView
().
findViewById
(
R
.
id
.
appBar
);
((
CoordinatorLayout
.
LayoutParams
)
mAppBarLayout
.
getLayoutParams
()).
setBehavior
(
new
AppBarLayout
.
Behavior
());
// Set offset on init
mAppBarLayout
.
post
(
new
Runnable
()
{
@Override
public
void
run
()
{
setAppBarOffset
(
appBarOffset
);
}
});
// Store offset for next init
mAppBarLayout
.
addOnOffsetChangedListener
(
new
AppBarLayout
.
OnOffsetChangedListener
()
{
@Override
public
void
onOffsetChanged
(
AppBarLayout
appBarLayout
,
int
i
)
{
if
(
i
!=
0
)
appBarOffset
=
-
i
;
}
});
}
/** Set appbar to have an offset */
private
void
setAppBarOffset
(
int
offsetPx
){
AppBarLayout
mAppBarLayout
=
getView
().
findViewById
(
R
.
id
.
appBar
);
CoordinatorLayout
mCoordinatorLayour
=
getView
().
findViewById
(
R
.
id
.
coordinator
);
CoordinatorLayout
.
LayoutParams
params
=
(
CoordinatorLayout
.
LayoutParams
)
mAppBarLayout
.
getLayoutParams
();
AppBarLayout
.
Behavior
behavior
=
(
AppBarLayout
.
Behavior
)
params
.
getBehavior
();
if
(
behavior
==
null
)
return
;
behavior
.
onNestedPreScroll
(
mCoordinatorLayour
,
mAppBarLayout
,
null
,
0
,
offsetPx
,
new
int
[]{
0
,
0
},
0
);
}
private
void
inflateViews
(
final
Event
event
)
{
...
...
app/src/main/res/layout/fragment_event.xml
View file @
6aff171b
...
...
@@ -9,12 +9,14 @@
android:background=
"@android:color/transparent"
>
<android.support.design.widget.CoordinatorLayout
android:id=
"@+id/coordinator"
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<android.support.design.widget.AppBarLayout
android:id=
"@+id/appBar"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@android:color/transparent"
>
...
...
@@ -45,7 +47,7 @@
<android.support.v4.widget.NestedScrollView
android:id=
"@+id/event_scrollview"
android:layout_width=
"match_parent"
android:layout_height=
"
match_par
ent"
android:layout_height=
"
wrap_cont
ent"
app:layout_behavior=
"@string/appbar_scrolling_view_behavior"
>
<LinearLayout
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment