package com.wangdaye.mysplash.about.view.activity; import android.os.Bundle; import android.support.design.widget.CoordinatorLayout; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import com.wangdaye.mysplash.R; import com.wangdaye.mysplash.common._basic.MysplashActivity; import com.wangdaye.mysplash.common.ui.adapter.AboutAdapter; import com.wangdaye.mysplash.common.ui.widget.coordinatorView.StatusBarView; import com.wangdaye.mysplash.common.ui.widget.SwipeBackCoordinatorLayout; import com.wangdaye.mysplash.common.utils.manager.ThemeManager; import butterknife.BindView; import butterknife.ButterKnife; /** * About activity. * * This activity is used to show the about app information. * * */ public class AboutActivity extends MysplashActivity implements SwipeBackCoordinatorLayout.OnSwipeListener { @BindView(R.id.activity_about_container) CoordinatorLayout container; @BindView(R.id.activity_about_statusBar) StatusBarView statusBar; @BindView(R.id.activity_about_recyclerView) RecyclerView recyclerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_about); } @Override protected void onStart() { super.onStart(); if (!isStarted()) { setStarted(); ButterKnife.bind(this); initWidget(); } } @Override protected void setTheme() { if (ThemeManager.getInstance(this).isLightTheme()) { setTheme(R.style.MysplashTheme_light_Translucent_Common); } else { setTheme(R.style.MysplashTheme_dark_Translucent_Common); } } @Override public void handleBackPressed() { finishActivity(SwipeBackCoordinatorLayout.DOWN_DIR); } @Override protected void backToTop() { // do nothing. } @Override public void finishActivity(int dir) { SwipeBackCoordinatorLayout.hideBackgroundShadow(container); finish(); switch (dir) { case SwipeBackCoordinatorLayout.UP_DIR: overridePendingTransition(0, R.anim.activity_slide_out_top); break; case SwipeBackCoordinatorLayout.DOWN_DIR: overridePendingTransition(0, R.anim.activity_slide_out_bottom); break; } } @Override public CoordinatorLayout getSnackbarContainer() { return container; } private void initWidget() { SwipeBackCoordinatorLayout swipeBackView = ButterKnife.findById( this, R.id.activity_about_swipeBackView); swipeBackView.setOnSwipeListener(this); recyclerView.setAdapter(new AboutAdapter(this)); recyclerView.setLayoutManager( new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)); } // --------------------------------------------------------------------------------------------- // interface. // --------------------------------------------------------------------------------------------- // on swipe listener. @Override public boolean canSwipeBack(int dir) { return SwipeBackCoordinatorLayout.canSwipeBack(recyclerView, dir); } @Override public void onSwipeProcess(float percent) { statusBar.setAlpha(1 - percent); container.setBackgroundColor(SwipeBackCoordinatorLayout.getBackgroundColor(percent)); } @Override public void onSwipeFinish(int dir) { finishActivity(dir); } }