/ParallaxBackLayout

模仿微信滑动返回的 Activity

Primary LanguageJavaArtistic License 2.0Artistic-2.0

ParallaxBackLayout

Parallax finish Activity.

Demo Apk

DOWNLOAD

简体中文

Usage

Step 1

  • Add these lines to your build.gradle
compile 'com.github.anzewei:parallaxbacklayout:0.6'

Step 2

  • Make your Activitys extend ParallaxActivityBase
public class DetailActivity extends ParallaxActivityBase {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setBackEnable(true);//enable Parallax back
		setContentView(R.layout.content_main);
	}

}
  • Add these lines to your AppTheme
    <item name="android:windowAnimationStyle">@style/Animation_Right</item>

Other Usage

  • Your Activitys can extends Activity or FragmentActivity es.
 public class MainActivity extends Activity/FragmentActivity/AppCompatActivity... {
    private ParallaxBackActivityHelper mHelper;
    
	@Override
    protected void onPostCreate(Bundle savedInstanceState) {
        super.onPostCreate(savedInstanceState);
        mHelper.onPostCreate();
    }

    @Override
    @NonNull
    public View findViewById(int id) {
        View v = super.findViewById(id);
        if (v == null && mHelper != null)
            return mHelper.findViewById(id);
        return v;
    }

    public ParallaxBackLayout getBackLayout() {
        return mHelper.getBackLayout();
    }

    public void setBackEnable(boolean enable) {
        mHelper.setBackEnable(enable);
    }

    public void scrollToFinishActivity() {
        mHelper.scrollToFinishActivity();
    }

    @Override
    public void onBackPressed() {
        if (!getSupportFragmentManager().popBackStackImmediate()) {
            scrollToFinishActivity();
        }
    }

    @Override
    public void startActivityForResult(Intent intent, int requestCode, @Nullable Bundle options) {
        intent.putExtra("plfile",mHelper.getBackLayout().getCacheFile().getAbsolutePath());
        super.startActivityForResult(intent, requestCode, options);
        mHelper.onStartActivity();
    }

    @Override
    protected void onCreate(Bundle arg0) {
        super.onCreate(arg0);
        mHelper = new ParallaxBackActivityHelper(this);
    }
}

License

Copyright 2015 anzewei

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.