滑动监听,当上拉时上面标题栏逐渐显示出来

1.自定义ScrollView,滑动监听,高度改变时的监听
public class ObservableScrollView extends ScrollView {

    private ScrollViewListener scrollViewListener = null;

    public ObservableScrollView(Context context) {
        super(context);
    }

    public ObservableScrollView(Context context, AttributeSet attrs,
                                int defStyle) {
        super(context, attrs, defStyle);
    }

    public ObservableScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public void setScrollViewListener(ScrollViewListener scrollViewListener) {
        this.scrollViewListener = scrollViewListener;
    }

    @Override
    protected void onScrollChanged(int x, int y, int oldx, int oldy) {
        super.onScrollChanged(x, y, oldx, oldy);
        if (scrollViewListener != null) {
            scrollViewListener.onScrollChanged(this, x, y, oldx, oldy);
        }
    }

    public interface ScrollViewListener {

        void onScrollChanged(ObservableScrollView scrollView, int x, int y, int oldx, int oldy);

    }

}

2.顶部是个图片,person_image 是顶部的图片,
private void initListeners() {
    // 获取顶部图片高度后,设置滚动监听
    ViewTreeObserver vto = person_image.getViewTreeObserver();
    vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {//布局完成时调用,一当view改变就会系统就会调用
        @Override
        public void onGlobalLayout() {
            imageHeight = person_image.getHeight() / 2;
            //一旦得到高度,就将addOnGlobalLayoutListener注销掉
            person_image.getViewTreeObserver().removeGlobalOnLayoutListener(
                    this);
        }
    });
}
3.
private void initScrollView() {
    scroll_view = (ObservableScrollView) findViewById(R.id.scroll_view);
    scroll_view.setScrollViewListener(new ObservableScrollView.ScrollViewListener() {
        @Override
        public void onScrollChanged(ObservableScrollView scrollView, int x, int y, int oldx, int oldy) {
            Log.e("ObservableScrollView", "x:" + x + "y:" + y + "oldx:" + oldx + "oldy:" + oldy);
            if (y <= 0) {
                activity_base_title_rl.setBackgroundColor(Color.argb((int) 0, 91, 78, 97));//AGB由相关工具获得,或者美工提供
            } else if (y > 0 && y <= imageHeight) {
                float scale = (float) y / imageHeight;
                float alpha = (255 * scale);
                activity_base_title_rl.setBackgroundColor(Color.argb((int) alpha, 91, 78, 97));
            } else {
                activity_base_title_rl.setBackgroundColor(Color.argb((int) 255, 91, 78, 97));
            }
        }
    });


4.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:orientation="vertical">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <com.live.longmao.view.ObservableScrollView
            android:id="@+id/scroll_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:overScrollMode="never"
            android:scrollbars="none">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:id="@+id/person_image"
                        android:layout_width="match_parent"
                        android:layout_height="300dp"
                        android:scaleType="centerCrop"
                        android:src="@mipmap/icon_star_bg" />

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="45dp"
                        android:layout_alignBottom="@+id/person_image"
                        android:background="#90000000"
                        android:gravity="center_vertical"
                        android:orientation="horizontal">

                        <RelativeLayout
                            android:layout_width="wrap_content"
                            android:layout_height="18dp"
                            android:layout_marginLeft="10dp"
                            android:background="@drawable/label_bg"
                            android:paddingLeft="@dimen/person_three"
                            android:paddingRight="@dimen/person_three">

                            <ImageView
                                android:id="@+id/head_anchorImage"
                                android:layout_width="14dp"
                                android:layout_height="14dp"
                                android:layout_centerVertical="true"
                                android:src="@mipmap/icon_anchor" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_centerVertical="true"
                                android:layout_marginLeft="17dp"
                                android:text="认证主播"
                                android:textColor="@color/white"
                                android:textSize="@dimen/h4" />
                        </RelativeLayout>

                        <ImageView
                            android:id="@+id/tv_sex"
                            android:layout_width="17dp"
                            android:layout_height="17dp"
                            android:layout_marginLeft="5dp"
                            android:background="@mipmap/global_female" />

                        <ImageView
                            android:id="@+id/img_level"
                            android:layout_width="36dp"
                            android:layout_height="17dp"
                            android:layout_marginLeft="5dp"
                            android:background="@mipmap/rank_10" />
                        <ImageView
                            android:id="@+id/img_vip"
                            android:layout_width="40dp"
                            android:layout_height="19dp"
                            android:layout_marginLeft="5dp"
                            android:background="@mipmap/icon_my_vip" />

                    </LinearLayout>
                </RelativeLayout>

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="12dp"
                    android:background="#eeeeee" />

                <RelativeLayout
                    android:id="@+id/rl_near"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/ll_head"
                    android:background="@color/white"
                    android:paddingBottom="10dp"
                    android:paddingTop="10dp">

                    <View
                        android:layout_width="3dp"
                        android:layout_height="20dp"
                        android:layout_centerVertical="true"
                        android:background="@color/title_color" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:layout_marginLeft="10dp"
                        android:text="我的相册"
                        android:textColor="@color/gray"
                        android:textSize="@dimen/find_text_size" />
                </RelativeLayout>

                <android.support.v7.widget.RecyclerView
                    android:id="@+id/recycler_view"
                    android:layout_width="match_parent"
                    android:layout_height="100dp" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="12dp"
                    android:background="#eeeeee" />

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/ll_head"
                    android:background="@color/white"
                    android:paddingBottom="10dp"
                    android:paddingTop="10dp">

                    <View
                        android:layout_width="3dp"
                        android:layout_height="20dp"
                        android:layout_centerVertical="true"
                        android:background="@color/title_color" />

                    <TextView
                        android:id="@+id/person_sin"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:layout_marginLeft="10dp"
                        android:text="个性签名"
                        android:textColor="@color/gray"
                        android:textSize="@dimen/find_text_size" />
                </RelativeLayout>

                <RelativeLayout
                    android:id="@+id/rl_info_sign"
                    android:layout_width="match_parent"
                    android:layout_height="40dp"
                    android:background="@color/white"
                    android:paddingLeft="10dp">


                    <TextView
                        android:id="@+id/info_sign"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:layout_marginLeft="10dp"
                        android:text="瞎子一波R闪教你做人。。。" />
                </RelativeLayout>

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="12dp"
                    android:background="#eeeeee" />

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/ll_head"
                    android:background="@color/white"
                    android:paddingBottom="10dp"
                    android:paddingTop="10dp">

                    <View
                        android:layout_width="3dp"
                        android:layout_height="20dp"
                        android:layout_centerVertical="true"
                        android:background="@color/title_color" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:layout_marginLeft="10dp"
                        android:text="个人信息"
                        android:textColor="@color/gray"
                        android:textSize="@dimen/find_text_size" />
                </RelativeLayout>

                <RelativeLayout
                    android:id="@+id/person_name"
                    android:layout_width="match_parent"
                    android:layout_height="50dp"
                    android:background="@color/white"
                    android:paddingLeft="10dp"
                    android:paddingRight="10dp">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:text="昵称"
                        android:textSize="14sp" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:layout_marginRight="@dimen/person_nine"
                        android:layout_toLeftOf="@+id/content_right1"
                        android:text="龙猫"
                        android:textColor="@color/gray"
                        android:textSize="14sp" />

                    <ImageView
                        android:id="@+id/content_right1"
                        android:layout_width="@dimen/person_seven"
                        android:layout_height="@dimen/person_eleven"
                        android:layout_alignParentRight="true"
                        android:layout_centerVertical="true"
                        android:src="@mipmap/right_arrow" />
                </RelativeLayout>

                <View
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/line"
                    android:layout_marginLeft="10dp"
                    android:background="@color/lightGreyColor" />

                <RelativeLayout
                    android:id="@+id/person_sex_rl"
                    android:layout_width="match_parent"
                    android:layout_height="50dp"
                    android:background="@color/white"
                    android:paddingLeft="10dp"
                    android:paddingRight="10dp">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:text="性别"
                        android:textSize="14sp" />

                    <TextView
                        android:id="@+id/person_sex"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:layout_marginRight="@dimen/person_nine"
                        android:layout_toLeftOf="@+id/content_right2"
                        android:text=""
                        android:textColor="@color/gray"
                        android:textSize="14sp" />

                    <ImageView
                        android:id="@+id/content_right2"
                        android:layout_width="@dimen/person_seven"
                        android:layout_height="@dimen/person_eleven"
                        android:layout_alignParentRight="true"
                        android:layout_centerVertical="true"
                        android:src="@mipmap/right_arrow" />
                </RelativeLayout>

                <View
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/line"
                    android:layout_marginLeft="10dp"
                    android:background="@color/lightGreyColor" />

                <RelativeLayout
                    android:id="@+id/person_profression"
                    android:layout_width="match_parent"
                    android:layout_height="50dp"
                    android:background="@color/white"
                    android:paddingLeft="10dp"
                    android:paddingRight="10dp">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:text="职业"
                        android:textSize="14sp" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:layout_marginRight="@dimen/person_nine"
                        android:layout_toLeftOf="@+id/content_right3"
                        android:text="保密"
                        android:textColor="@color/gray"
                        android:textSize="14sp" />

                    <ImageView
                        android:id="@+id/content_right3"
                        android:layout_width="@dimen/person_seven"
                        android:layout_height="@dimen/person_eleven"
                        android:layout_alignParentRight="true"
                        android:layout_centerVertical="true"
                        android:src="@mipmap/right_arrow" />
                </RelativeLayout>

                <View
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/line"
                    android:layout_marginLeft="10dp"
                    android:background="@color/lightGreyColor" />

                <RelativeLayout
                    android:id="@+id/peson_test4"
                    android:layout_width="match_parent"
                    android:layout_height="50dp"
                    android:background="@color/white"
                    android:paddingLeft="10dp"
                    android:paddingRight="10dp">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:text="兴趣爱好"
                        android:textSize="14sp" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:layout_marginRight="@dimen/person_nine"
                        android:layout_toLeftOf="@+id/content_right4"
                        android:text="看球"
                        android:textColor="@color/gray"
                        android:textSize="14sp" />

                    <ImageView
                        android:id="@+id/content_right4"
                        android:layout_width="@dimen/person_seven"
                        android:layout_height="@dimen/person_eleven"
                        android:layout_alignParentRight="true"
                        android:layout_centerVertical="true"
                        android:src="@mipmap/right_arrow" />
                </RelativeLayout>

                <View
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:layout_marginLeft="10dp"
                    android:background="@color/lightGreyColor" />

                <RelativeLayout
                    android:id="@+id/person_test5"
                    android:layout_width="match_parent"
                    android:layout_height="50dp"
                    android:background="@color/white"
                    android:paddingLeft="10dp"
                    android:paddingRight="10dp">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:text="体育运动"
                        android:textSize="14sp" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:layout_marginRight="@dimen/person_nine"
                        android:layout_toLeftOf="@+id/content_right5"
                        android:background="@drawable/textview_bank"
                        android:gravity="center"
                        android:paddingLeft="5dp"
                        android:paddingRight="5dp"
                        android:text="足球"
                        android:textColor="@color/white"
                        android:textSize="14sp" />

                    <ImageView
                        android:id="@+id/content_right5"
                        android:layout_width="@dimen/person_seven"
                        android:layout_height="@dimen/person_eleven"
                        android:layout_alignParentRight="true"
                        android:layout_centerVertical="true"
                        android:src="@mipmap/right_arrow" />
                </RelativeLayout>

                <View
                    android:layout_width="match_parent"
                    android:layout_height="20dp"
                    android:background="#eeeeee" />

            </LinearLayout>
        </com.live.longmao.view.ObservableScrollView>

        <RelativeLayout
            android:id="@+id/activity_base_title_rl"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:gravity="center_vertical">

            <TextView
                android:id="@+id/tv_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:text="龙猫Top"
                android:textColor="@color/white"
                android:textSize="18sp"
                android:typeface="serif" />

            <ImageButton
                android:id="@+id/iv_back"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:background="@color/transparent"
                android:clickable="true"
                android:paddingLeft="20dp"
                android:paddingRight="20dp"
                android:src="@mipmap/arrow_left" />

            <TextView
                android:id="@+id/tv_save"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:background="@color/transparent"
                android:clickable="true"
                android:gravity="center"
                android:paddingLeft="15dp"
                android:paddingRight="15dp"
                android:text="保存"
                android:textColor="@color/white"
                android:textSize="16sp" />
        </RelativeLayout>
    </RelativeLayout>
</LinearLayout>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值