A sample application show how to realize immersive parallax effect header like Google Play Store
- Toolbar quick return.
- Statusbar&toolbar changes between transparent and solid when gallery visible/invisible.
- Gallery parallax effect.
- Your detail Activty's theme should be:
res/values/style.xml:
<style name="AppTheme.NoActionBarTransparentStatusBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
and res/values-v21/style.xml:
<style name="AppTheme.NoActionBarTransparentStatusBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
- add "LollipopCompatSingleton.translucentStatusBar()" and "LollipopCompatSingleton.getInstance().fitStatusBarTranslucentPadding()" to Activity onCreate() method:
protected void onCreate(Bundle savedInstanceState) {
LollipopCompatSingleton.translucentStatusBar(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.xxxx);
......
LollipopCompatSingleton.getInstance().fitStatusBarTranslucentPadding(toolbar, this);
- Add ObservableScrollView to your layout xml.
<com.matrixxun.immersivedetail.sample.widget.ObservableScrollView
android:id="@+id/scrollview"
android:scrollbars="none"
android:layout_width="match_parent"
android:layout_height="match_parent">
......
- initialize immersive feature.
scrollview.setupImmersiveEffect(getActivity(),imageContainer,toolbar,toolbarColor,toolbarTitle);
API level 14+ supported
See example code here on Github. You can also see it live downloading this apk
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.