导航:首页 > 操作系统 > android上拉隐藏

android上拉隐藏

发布时间:2022-09-15 13:04:45

A. android 向上滑动srcollview 怎么隐藏viewpager里面的布局

借用两个库来快速完成
1. ViewPagerIndicator
2. ObservableScrollView
将两个库引入项目中去,快速的搭建一个ViewPager框架后,在ViewPager每页对应的Fragment的布局中增加一个ListView,这个ListView使用ObservableScrollView库中的ListView
主布局代码,使用线性布局,上方放置indicator,下方放置ViewPager
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<com.viewpagerindicator.TabPageIndicator
android:id="@+id/indicator"
android:layout_width="fill_parent"
android:layout_height="50dp" />

<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</LinearLayout>

-Fragment代码,放置一个ObservableListView
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="${relativePackage}.${activityClass}" >

<cn.e.zafu.view.observableview.ObservableListView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</LinearLayout>

业务逻辑代码
在Activity中初始化indicator和viewpager,然后再fragment中处理viewpager中内容即listview手势上下滑动与indicator的联动。在onCreateView中管理indicator,并获取其高度
indicator = (TabPageIndicator) getActivity().findViewById(indicatorId);
//获得indicator高度
indicator.post(new Runnable() {
@Override
public void run() {
height=indicator.getHeight();
Log.d("TAG", "height:"+height);
}
});

关联listview并设置监听器
listView = (ObservableListView) view.findViewById(R.id.list);
listView.setScrollViewCallbacks(this);

fragment实现对应的接口
implements ObservableScrollViewCallbacks

实现的方法如下
@Override
public void onScrollChanged(int scrollY, boolean firstScroll,
boolean dragging) {

}

@Override
public void onDownMotionEvent() {

}

@Override
public void onUpOrCancelMotionEvent(ScrollState scrollState) {

}

在onUpOrCancelMotionEvent方法中完成显示和隐藏indicator
//获得高度的另一种方法
/*if(height==0){
height=indicator.getHeight();
Log.d("TAG", "height:"+height);
}*/
//如果手势向上则隐藏,手势向下则显示
if (scrollState == ScrollState.UP) {
//如果显示的并且动画没有在进行,则隐藏
if (isIndicatorShow&&!isShowing) {
hideIndicator();
}
} else if (scrollState == ScrollState.DOWN) {
//如果没显示的并且动画没有在进行,则显示
if (!isIndicatorShow&&!isShowing) {
showIndicator();
}
}

完成显示和隐藏的函数,使用属性动画完成一个过渡效果
public void showIndicator() {
//属性动画translationY
ObjectAnimator animator = ObjectAnimator.ofFloat(indicator, "translationY",
0f);
//持续时间
animator.setDuration(500);
//插值器,减速
animator.setInterpolator(new DecelerateInterpolator(2));
//监听器
animator.addUpdateListener(new AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
//不断增加indicator所在viewgroup的高度
LayoutParams layoutParams = indicator.getLayoutParams();
float v=(Float) animation.getAnimatedValue();
Log.d("TAG","show:"+v);
layoutParams.height=height+(int)v;
//重新布局
indicator.requestLayout();
}
});
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
//动画开始后设置为true
isShowing=true;
super.onAnimationStart(animation);
}
@Override
public void onAnimationEnd(Animator animation) {
//动画结束后设置为false
isShowing=false;
//显示后设置为已显示
isIndicatorShow = true;
super.onAnimationEnd(animation);
}

});
//开始动画
animator.start();

}

public void hideIndicator() {

ObjectAnimator animator = ObjectAnimator.ofFloat(indicator, "translationY",-height);
animator.setDuration(500);
//加速插值器
animator.setInterpolator(new AccelerateInterpolator(2));
animator.addUpdateListener(new AnimatorUpdateListener() {

@Override
public void onAnimationUpdate(ValueAnimator animation) {
//不断减小indicator所在viewgroup的高度
LayoutParams layoutParams = indicator.getLayoutParams();
float v=(Float) animation.getAnimatedValue();
Log.d("TAG","hide:"+v);
layoutParams.height=height+(int)v;
indicator.requestLayout();
}
});
//同显示
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
isShowing=true;
super.onAnimationStart(animation);
}

@Override
public void onAnimationEnd(Animator animation) {
isShowing=false;
isIndicatorShow = false;
super.onAnimationEnd(animation);
}

});
animator.start();

}

所有用到的变量
private View view = null;//存储fragemnt的视图
private TabPageIndicator indicator = null;//indicator
private ObservableListView listView = null;//listview
private int indicatorId;//indicator对应的id值
private int height=0;//indicator高低
private boolean isIndicatorShow = true;//是否显示
private boolean isShowing=false;//动画是否正在进行

B. android想实现的功能是,顶部图片在listview上滑时隐藏,中间的tab标签在listvi

隐藏图片可以是view.setvisibility(view.gone)
监视listview的滑动可以是listview.setonscrolllistener

C. android上拉现实头部和底部下拉隐藏

https://github.com/wasabeef/awesome-android-ui
希望能帮到楼主。
https://github.com/ksoichiro/Android-ObservableScrollView
这个应该是楼主需要的要求。

D. android 怎么隐藏状态栏和显示状态栏

Android任务栏图标隐藏方法/步骤:
1、首先看到任务栏;
2、右击任务栏,在下拉菜单中选择属性,会出现一个开始与任务栏对话框;
3、在任务栏外观中选择自动隐藏任务栏;
4、选择完成后点击确定,任务栏就能够自动隐藏了;

E. android打开activity会有抽屉上拉效果,怎么取消或者隐藏

两个activity切换之间的动画是可以自定义的,只需要在activity中加上overridePendingTransition(enterAnim, exitAnim)就OK了,enterAnim是当前activity加入的动画,exitAnim是出的。页面的飞入效果是不能去掉的,这是系统默认的,如果你想实现没有动画的效果,只能用另外的在一个全局布局中用addView和removeView来实现了。

F. android中怎样隐藏滚动条

android中隐藏滚动条的方法:
1. 在<ListView>标签中设置属性,android:fastScrollEnabled="false"
2. 以下属性scrollbars可以设置为none也可以不设置为none。效果会有点不同。根据具体情况决定是否设置为none,android:scrollbars="none"
3. 属性fastScrollEnabled说明:
Enables the fast scroll thumb that can be dragged to quickly
scroll through the list. [boolean]
译:允许fast scroll thumb可以拖动来快速滚动列表。
4. 属性scrollbars说明:
Defines which scrollbars should be displayed on scrolling or not.
译:定义在scrolling时哪个滚动条应该显示出来,或者不显示。

G. Android开发怎么动态隐藏顶部的Tab,求大神,怎么实现这种效果

android 阻尼效果,这个需要自己去写控件去实现

我这有个demo

跟你这个类似,下拉的时候,显示出一堆的东西,上拉就隐藏

H. Android怎么做出上拉隐藏天气 下拉显示天气信息 类似于交行首页界面

对于要求在Android上做出上拉隐藏天气 下拉显示天气信息的界面,首先要看手机系统以及自带的天气软件支持不支持这种功能,如果支持的话,直接在软件里设置就可以了。类似这样:

墨迹天气就支持这样的功能。

I. 安卓 有什么可以隐藏虚拟按键又能上拉显示虚拟按键的软件吗

你可以下载一个(自动软键隐藏)oppo手机亲测可用。

阅读全文

与android上拉隐藏相关的资料

热点内容
签到任务源码 浏览:814
母亲节的文案怎么写app 浏览:982
加密协议aes找不到 浏览:248
java服务器端开发源码 浏览:549
编译器编译运行快捷键 浏览:331
住房app怎么快速选房 浏览:172
怎么在电脑上编译成功 浏览:214
单片机可调时钟设计方案 浏览:192
qq文件夹密码忘记怎么找回 浏览:683
php扩展插件 浏览:608
解压视频厕所抽纸 浏览:952
app减脂怎么用 浏览:452
pythonwebpdf 浏览:639
单片机的功能模块 浏览:771
安卓手机如何录制视频长时间 浏览:285
安全问题app哪个好 浏览:445
压缩水会变冰吗 浏览:526
小说配音app哪个靠谱 浏览:820
编译iso 浏览:944
照片生成pdf格式 浏览:194