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;
    }

}

布局引用重写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>

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);
}
};

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

时间: 2024-12-28 01:55:02

android 根据滑动隐藏或显示导航 类似手机QQ好友个人信息的相关文章

Android apps浅析02-Android IM:一个类似手机QQ的即时通讯开源实现

Android apps浅析02-Android IM:一个类似手机QQ的即时通讯开源实现 这是Android上的一个简单的IM应用程序运行时,应用程序发出HTTP请求到服务器,在PHP和MySQL,验证,注册和得到其他朋友的状态和数据来实现,那么它与其他设备的其他应用程序通过通信套接字接口. 1. 数据库只要2个表:朋友表和用户表: CREATE TABLE `friends` ( `Id` int(10) unsigned NOT NULL auto_increment, `provider

Android:仿手机QQ好友动态的ListView

1.介绍: 本博客使用XListView模仿Android版QQ好友动态的ListView效果.效果截图例如以下: 效果图1 效果图2 这里面主要涉及的是ListView的布局问题,让我们看一下Item的布局文件吧. <?xml version="1.0" encoding="utf-8"? > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&

Android ViewPager内容部分随手势上下滑动隐藏与显示Indicator效果的实现

效果 ViewPager中的内容,比如ListView手势上下滑动,当内容向下滑动时,即手势上划,隐藏indictor,当内容向上滑动时,即手势下滑,显示indicator,效果如图所示 编码 借用两个库来快速完成 1. ViewPagerIndicator 2. ObservableScrollView 将两个库引入项目中去,快速的搭建一个ViewPager框架后,在ViewPager每页对应的Fragment的布局中增加一个ListView,这个ListView使用ObservableScr

标题栏的滑动隐藏和显示是怎么实现的?

在你日常使用App过程中,可能发现,有些应用界面的标题栏会随着屏幕滑动显示不同的效果(向上滑动时标题栏消失,向下滑动时标题栏出现). 开始注意到这个效果的时候觉得很有趣,后来知道这其实是Material Design中一个重要的设计思想.当用户向上滑动屏幕的时候,注意力主要集中在屏幕内容中,这时候一般不需要用到标题栏中功能的操作:当向下滑动时,标题栏自动显示.这样既能在用户浏览阅读内容时,避免标题栏干扰(碍眼),又不影响标题栏功能,达到提供用户更好阅读体验的目的. 那么,这个功能是怎么实现的呢?

android:ScrollView滑动到底部显示加载更多

这是效果 主要是onTouchListener监听事件,监视什么时候滑到底部 同时要理解getMeasuredHeight和getHeight的区别 getMeasuredHeight:全部的长度 包括隐藏的 getHeight:在布局中展示出来的长度 布局文件: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_paren

android自定义View实现图片上传进度显示(仿手机QQ上传效果)

首先看下我们想要实现的效果如下图(qq聊天中发送图片时的效果): 再看一下我实现的效果: 1.效果已经看见了,下面我们来实现它.首先我创建一个android工程ProgressImageView.然后我们重写ImageView控件,创建ProcessImageView类代码如下: package com.example.processimageview; import android.annotation.SuppressLint; import android.content.Context;

html设计隐藏与显示的效果

   隐藏与显示  很多时候我们需要隐藏网页的一些东西,或者说APP(比如phonegap用html5,js开发安卓应用,IOS应用)也一样. 这里我总结了几种方式: 注意,这里需要引入jquery的包,我给大家一个下载地址 http://down.51cto.com/data/1357745 . 记得在自己的网页所在目录下创建目录jquery,把包放进去就好了. 1. 使用jquery的hide()和show()方法. 代码如下,大家可以复制去试试.            使用hide()隐藏

Android 仿QQ浏览器WebView,滑动隐藏显示ActionBar效果

Android 仿QQ浏览器,滑动隐藏显示ActionBar效果. 往上推,是一个ScrollView会将,actionbar以及内容往上推,当actionbar消失后,将滚动Webview的内容. 此效果是基于QuickReturnHeader源码,修改而来的,代码也不多,实现方法比较简单. 直接上demo:http://download.csdn.net/detail/xufeifandj/8388493 直接看效果图:

Android 动态隐藏显示导航栏,状态栏

Talk is cheap, show me the code. --Linus Torvalds Okay, here: 一.导航栏: [java] view plain copy private void hideNavigationBar() { View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULL