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为要滑动的高度

  • 相关阅读:
    [转]对Lucene PhraseQuery的slop的理解
    Best jQuery Plugins of 2010
    15 jQuery Plugins To Create A User Friendly Tooltip
    Lucene:基于Java的全文检索引擎简介
    9 Powerful jQuery File Upload Plugins
    Coding Best Practices Using DateTime in the .NET Framework
    Best Image Croppers ready to use for web developers
    28 jQuery Zoom Plugins Creating Stunning Image Effect
    VS2005 + VSS2005 实现团队开发、源代码管理、版本控制(转)
    禁止状态栏显示超链
  • 原文地址:https://www.cnblogs.com/freexiaoyu/p/4209752.html
Copyright © 2011-2022 走看看