`

ParallaxScrollView有视差的ScrollView

阅读更多


Usage
Look at the demo layout for implimentation.

The basics are, that you need two views added to the ParallaxScrollView and it will do the rest.

The first View added is the Background
The second View added is the Foreground.
Layout and measuring is based roughly around a FrameLayout.

The foreground view gets wrapped with a ObservableScrollView regardless with what you put in there, so if you want full control of layout impliment like below.

Attributes

app:parallexOffset="0.3" - this number needs to be between 0.1 and 1.0. otherwise it defaults to 0.3.
ParallexScrollView.setParallexOffset(float) - this is the programatic version of the offset value.

Background The background will at the very minimum be the exact size as the parent (matches the ParallexScrollView size). If the ScrollView content is larger than the parent then background calculates a factor based on the scroll capacity, i.e. a parallexFactor of 0.5 will approximatly move the background at half the rate of the foreground scroll.

Foreground Make sure you fill the parent, I haven't overridden this but I may in the future if people have issues with it, as the background will scroll based on the size of foreground content.

Example Layout
<couk.jenxsol.parallaxscrollview.views.ParallaxScrollView xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:parallexOffset="0.25" >

    <!-- Background -->

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:scaleType="fitXY"
        android:src="@drawable/bg_sky" />

    <!-- Foreground -->
    <!-- You can place any of the items below as the foreground, but for most control, add the scroll view yourself. -->

    <couk.jenxsol.parallaxscrollview.views.ObservableScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <LinearLayout
            android:layout_width="260dp"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingBottom="@dimen/spacing"
            android:paddingTop="@dimen/spacing" >

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@android:color/white"
                android:padding="@dimen/spacing"
                android:text="@string/hello_world" />

        </LinearLayout>
    </couk.jenxsol.parallaxscrollview.views.ObservableScrollView>

</couk.jenxsol.parallaxscrollview.views.ParallaxScrollView>
  • 大小: 140.1 KB
分享到:
评论
1 楼 plmmmmlq 2015-01-10  
demo看了不知道这个控件是做什么用的,也没有看出有什么好。

相关推荐

    带有滚动视差的ScrollView

    在"带有滚动视差的ScrollView"的场景中,我们主要是让背景图片在ScrollView滚动时产生动态效果,即图片的移动速度不同于内容的滚动速度。这种效果可以通过自定义ScrollView或者使用第三方库来实现。 首先,我们可以...

    支持视差滚动的ScrollView

    然而,为了提供更丰富的用户体验,有时我们需要自定义`ScrollView`以实现一些特殊效果,比如视差滚动(Parallax Scrolling)。视差滚动是一种设计手法,当用户滚动页面时,不同元素以不同的速度移动,从而产生深度感...

    头部视差动画用Scrollview写的

    6. **动画库支持**:除了手动实现,还可以利用第三方库如ParallaxScrollView或HeadScrollLibrary来简化视差动画的开发。这些库提供了预设的视差效果和易于使用的API,使开发者能快速集成视差滚动功能。 7. **性能...

    ParallaxScrollView-master.zip

    - **视差因子(Parallax Factor)**:每个视差元素都有一个视差因子,用于控制元素移动速度与ScrollView滚动速度的比例。 - **视差效果的实现**:通过对每个视差元素的平移或者缩放操作,实现与主内容不同的滚动...

    一个视差滚动视图组件

    "react-native-parallax-scrollview"是专门为React Native设计的一个视差滚动视图组件,它为开发者提供了实现视差滚动效果的能力,无需深入研究原生平台的复杂性。 这个组件库的核心功能包括: 1. **视差效果**:...

    安卓Android源码——ParallaxScrollView-master.zip

    ParallaxScrollView是Android原生ScrollView的扩展,当用户滚动时,背景图像或某些视图元素以较慢的速度移动,形成一种视差效果。这种效果通常用于创建更引人入胜的头部背景或导航栏。在Android开发中,实现这样的...

    ScrollView分页 仿京东淘宝商品详情

    实现这种效果,可以使用第三方库如ParallaxScrollView或者自定义滚动监听器,调整不同组件的滚动速度。 以上就是实现ScrollView分页效果的基本流程,它可以帮助你创建类似京东、淘宝商品详情页的用户体验。同时,...

    android ParallaxScrollView-master源码.rar

    1. **自定义视图原理**:ParallaxScrollView是ScrollView的子类,通过重写`onScrollChanged()`方法来监听滚动事件,然后计算出滚动的距离,并根据这个距离调整背景视图的位置,实现视差效果。 2. **视差效果实现**...

    Android微信朋友圈视差特效

    1. **自定义ViewGroup**:开发者可以创建一个自定义的ViewGroup,如ParallaxScrollView或ParallaxViewPager,继承自Android的ScrollView或ViewPager。在这个自定义组件中,我们可以重写`onScrollChanged()`方法,...

    安卓开发框架工具类相关-Android框架效果ParallaxScrollView.rar

    ParallaxScrollView 是对原生Android ScrollView的扩展,它允许开发者添加视差滚动行为。在Android开发中,ScrollView通常用于容纳超过屏幕大小的内容,使得用户可以通过滚动来查看所有内容。而ParallaxScrollView则...

    视差滚动视图效果

    视差滚动视图效果源码,ParallaxScrollView,实现具有视差滚动(Parallax Scroll)效果的滚动视图。所谓视差滚动,就是屏幕有两层滚动视图,两层滚动视图的滚动速度不一样,一般来说前面的滚动视图的滚动速度比底部...

    react-native-parallax-scroll-view:具有视差和粘性标头支持的类似ScrollView的组件

    请记住,将Animated组件传递给renderScrollComponent ,默认情况下它具有Animated.ScrollView例子import ParallaxScrollView from 'react-native-parallax-scroll-view' ;import CustomScrollView from 'custom-...

    Parallax ScrollView(iPhone源代码)

    来源:Licence:BSD平台:iOS设备:iPhone / iPad作者:... 视图视差滚动效果(parallax effect)就是让多层背景以不同的速度移动,形成运动视差效果。 Code4App编译测试,适用环境:Xcode 4.5, iOS 5.0 以上。

    lookxanimation.zip

    在"lookxanimation.zip"中,可能包含了一个自定义的`ScrollView`或`RecyclerView`子类,实现了视差滚动效果。这个自定义组件会监听用户的触摸事件,根据手指滑动的距离调整背景图片的滚动速度,同时添加一个弹性回弹...

    Parallax效果的ScrollerView

    创建一个自定义的ViewGroup,比如ParallaxScrollView或ParallaxListView,重写`onScrollChanged()`方法。在这个方法中,根据滚动的距离和每个子View的视差因子来调整子View的位置。 2. **视差因子(Parallax Factor...

    Paralloid:Paralloid-(Pah-rah-loid)Android Parallax库-已弃用

    Paralloid-已淘汰已弃用-... 变形金刚,视差以不同的方式和方向支持: ListView ScrollView HorizontalScrollView模块化的Paralloid被设计为模块化的,并且非常松散地耦合(在一定程度上)。 存在两个高级模块parallo

    手机滑动效果 页面滑动滚动显示广告

    3. **视差滚动**:高级的滑动效果可能包含视差滚动,即背景和前景元素以不同的速度移动,营造出深度感。这可以通过自定义滚动监听器或使用第三方库如`ParallaxScrollView`实现。 4. **滚动边界检测**:在页面滑动...

Global site tag (gtag.js) - Google Analytics