java ViewPager实现Gallery效果。主要依靠设置clipChildren属性和ViewPager.Transformer接口实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java ViewPager实现Gallery效果。主要依靠设置clipChildren属性和ViewPager.Transformer接口实现相关的知识,希望对你有一定的参考价值。
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false">
<ViewPager
android:id="@+id/viewPager"
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:clipChildren="false"/>
</FrameLayout>
import android.os.Build;
import android.support.v4.view.ViewCompat;
import android.support.v4.view.ViewPager;
import android.view.View;
public class ScaleInTransformer implements ViewPager.PageTransformer {
@Override
public void transformPage(View view, float position) {
float scale = 0.5f;
float scaleValue = Math.abs(Math.abs(position) - 1) * scale + scale;
scaleValue = position < -1 || position > 1 ? scale : scaleValue;
view.setScaleX(scaleValue);
view.setScaleY(scaleValue);
view.setAlpha(scaleValue);
/**
* position = -1: PivotX 为 width
* position = 0: PivotX 为 width / 2
* position = 1: PivotX 为 0
* 以此为基准做调整
*/
final float offset = Build.VERSION.SDK_INT > 19 ? (Math.abs(position) / position) * 0.5f : 0f;
view.setPivotX(view.getWidth() * (1 - position - offset) * scale);
ViewCompat.setElevation(view, position >= -0.25 && position <= 0.25 ? 1 : 0);
}
}
以上是关于java ViewPager实现Gallery效果。主要依靠设置clipChildren属性和ViewPager.Transformer接口实现的主要内容,如果未能解决你的问题,请参考以下文章
ViewPager 实现 Galler 效果, 显示中间大图显示,两边小图展示
android实现点击按钮,图片在里面滚动的效果??
android 卡片画廊效果及RecycleView、ViewPager、ScrollView之前的冲突解决
android画廊怎样做出超炫效果
android画廊怎样做出超炫效果
仿百度壁纸client——完结篇之Gallery画廊实现壁纸预览已经项目细节优化