zoukankan      html  css  js  c++  java
  • android 根据滑动隐藏或显示导航 类似手机QQ好友个人信息

    //重写ScrollView
    
    
    public class NotifyingScrollView extends ScrollView {
         /**
         * @author Cyril Mottier
         */
        public interface OnScrollChangedListener {
            void onScrollChanged(ScrollView who, int l, int t, int oldl, int oldt);
        }
    
        private OnScrollChangedListener mOnScrollChangedListener;
    
        public NotifyingScrollView(Context context) {
            super(context);
        }
    
        public NotifyingScrollView(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        public NotifyingScrollView(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
        }
    
        @Override
        protected void onScrollChanged(int l, int t, int oldl, int oldt) {
            super.onScrollChanged(l, t, oldl, oldt);
            if (mOnScrollChangedListener != null) {
                mOnScrollChangedListener.onScrollChanged(this, l, t, oldl, oldt);
            }
        }
    
        public void setOnScrollChangedListener(OnScrollChangedListener listener) {
            mOnScrollChangedListener = listener;
        }
    
    }
    View Code

    布局引用重写NotifyingScrollView控件

     <你的项目路径.NotifyingScrollView
                android:id="@id/sv_personal"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@color/layout_bg"
                android:scrollbars="none" >
        
     <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@color/layout_bg"
                    android:orientation="vertical" >
    你要显示的内容
    </LinearLayout>
            </你的项目路径.NotifyingScrollView>
    View Code

    activity使用引用

    NotifyingScrollView sv_personal=(NotifyingScrollView)findViewById(R.id.sv_personal);
    sv_personal.setOnScrollChangedListener(mOnScrollChangedListener);
    
    
    
    private NotifyingScrollView.OnScrollChangedListener mOnScrollChangedListener = new NotifyingScrollView.OnScrollChangedListener() {
    public void onScrollChanged(ScrollView who, int l, int t, int oldl, int oldt) {
    int Height=Utility.dip2px(context, 130);
    float ratio =Math.max(Math.min(1, t/Height), 0);
    //导航控件
    linar_top.setAlpha(ratio* 255);
    }
    };
    View Code

     int Height=Utility.dip2px(context, 130); 130为要滑动的高度

  • 相关阅读:
    UVa 297 Quadtrees(树的递归)
    c++代码模板
    博客园 自定义CSS皮肤模板
    ubuntu 16.04 小键盘数字键盘开机自动启动
    set_union的几个例子
    CSU 1803 2016(数论)
    CSU 1809 Parenthesis(线段树+前缀和)
    UVA 253 Cube painting(暴力打表)
    洛谷 P1060 开心的金明
    Codeforces Round #369 (Div. 2) C. Coloring Trees(dp)
  • 原文地址:https://www.cnblogs.com/freexiaoyu/p/4209752.html
Copyright © 2011-2022 走看看