仿苹果的侧滑返回

该博客介绍了如何在Android应用中实现类似苹果风格的侧滑返回功能。通过使用自定义控件`SlidingLayout`作为父布局,结合`FragmentActivity`的`setContentView`方法,设置滑动监听事件来改变内容视图的缩放和透明度,从而实现侧滑效果。文章还提到了如何处理预览图像以及如何捕获和保存当前屏幕以供切换时显示。
摘要由CSDN通过智能技术生成

最近看一个新闻快讯的开源软件的源码 ,里面有个侧滑返回的功能 ,做笔录 记录下来实现的原理,

里面用到的最直接的原理就是是用了 一个自定义控件 SlidingLayout  侧滑控件,将控件定义在公共的父类中来实现侧滑,父类中的布局

<?xml version="1.0" encoding="utf-8"?>
<com.example.test.SlidingLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/slide_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/iv_preview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:contentDescription="@null" />

    <FrameLayout
        android:id="@+id/content_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</com.example.test.SlidingLayout>


再看父类 

public class BaseActivity extends FragmentActivity {


    private static final float MIN_SCALE = 0.85f;

    private View mPreview;

    private FrameLayout contentView;
    private float mInitOffset;
    private boolean hideTitle = false;

    @Override
    public void setContentView(int layoutResID) {
        super.setContentView(R.layout.slide_layout);
        DisplayMetrics metrics = getResources().getDisplayMetrics();
        mPreview = findViewById(R.id.iv_preview);
        contentView = (FrameLayout) findViewById(R.id.content_view);
        mInitOffset = (1 - MIN_SCALE) * metrics.widthPixels / 2;
        FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(
                LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,
            

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值