最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android仿淘寶view滑動(dòng)至屏幕頂部會(huì)一直停留在頂部的位置

 更新時(shí)間:2016年11月17日 16:41:26   作者:sunday_luck  
這篇文章主要介紹了Android仿淘寶view滑動(dòng)至屏幕頂部會(huì)一直停留在頂部的位置的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

在剛剛完成的項(xiàng)目中,在一個(gè)頁(yè)面中,用戶體驗(yàn)師提出引用戶操作的入住按鈕要一直保留在頁(yè)面當(dāng)中,不管頁(yè)面能滾動(dòng)多長(zhǎng)都得停留在頁(yè)面的可視區(qū)域。最終實(shí)現(xiàn)效果如下圖所示:

 

如圖中的紅色框中的view始終會(huì)停留在頁(yè)面中,如果滑動(dòng)至頁(yè)面的頂部,會(huì)一直保留在頂部。

下面來(lái)說(shuō)下具體的實(shí)現(xiàn)思路:

思路:其實(shí)整個(gè)頁(yè)面當(dāng)中一共有兩個(gè)視覺(jué)效果一樣的View,通過(guò)滑動(dòng)的位置來(lái)進(jìn)行View的隱藏和顯示來(lái)達(dá)到這種效果。整個(gè)頁(yè)面的在上下滑動(dòng)的過(guò)程中可以總結(jié)為兩個(gè)狀態(tài),狀態(tài)A(如圖1所示),view2在可視區(qū)域內(nèi)時(shí),view1不可見(jiàn)。狀態(tài)B(如圖2所示),view2滑過(guò)了可視區(qū)域,此種狀態(tài)view1可見(jiàn),view2不可見(jiàn)。

view顯示和隱藏的時(shí)機(jī):1、當(dāng)頁(yè)面向上滑動(dòng)時(shí),從狀態(tài)A轉(zhuǎn)變到狀態(tài)B的瞬間,view1正好滑動(dòng)至頂部與view2重合的瞬間,將view1顯示;

2、當(dāng)頁(yè)面向下滑動(dòng),從狀態(tài)B轉(zhuǎn)變到狀態(tài)A的瞬間,view2正好和view1重合的瞬間,將view1隱藏。

ViewAllShowLinearLayout類

package org.sunday.uiext; 
import android.content.Context; 
import android.util.AttributeSet; 
import android.view.View; 
import android.widget.LinearLayout; 
import android.widget.ScrollView; 
/** 
* @author sunday 
* 2013-12-5 
* 郵箱:zhengchao1937@163.com 
* QQ:804935743 
*/ 
public class ViewAllShowLinearLayout extends LinearLayout { 
private View mView; // 頂部的View 
private ViewSwitchListener viewSwitchListener; // 對(duì)外鉤子接口 
private ScrollView mScrollView; 
private boolean isFlag = true; //輔助判斷變量 
public void initData(View view, ScrollView scrollview, 
ViewSwitchListener viewSwitchListener) { 
this.mView = view; 
this.mScrollView = scrollview; 
this.viewSwitchListener = viewSwitchListener; 
} 
public ViewAllShowLinearLayout(Context context) { 
super(context); 
init(); 
} 
public ViewAllShowLinearLayout(Context context, AttributeSet attrs) { 
super(context, attrs); 
init(); 
} 
private void init() { 
setOrientation(LinearLayout.VERTICAL); 
} 
@Override 
public void computeScroll() { 
if (mView != null && mScrollView != null && viewSwitchListener != null) { 
int y = mScrollView.getScrollY(); 
if (isFlag) { 
int top = mView.getTop(); 
if (y >= top) { 
viewSwitchListener.onViewShow(); 
isFlag = false; 
} 
} 
if (!isFlag) { 
int bottom = mView.getBottom(); 
if (y <= bottom - mView.getHeight()) { 
viewSwitchListener.onViewGone(); 
isFlag = true; 
} 
} 
} 
} 
public interface ViewSwitchListener { 
public void onViewShow(); 
public void onViewGone(); 
} 
}

項(xiàng)目中的使用效果:

 

以上所述是小編給大家介紹的Android仿淘寶view滑動(dòng)至屏幕頂部會(huì)一直停留在頂部的位置,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論

赤峰市| 沙河市| 蚌埠市| 阳江市| 当雄县| 英吉沙县| 龙游县| 桃源县| 乌审旗| 阳江市| 天台县| 甘泉县| 班戈县| 磐安县| 宜州市| 刚察县| 镇宁| 横峰县| 成安县| 邮箱| 鹤壁市| 盐源县| 日土县| 库伦旗| 兴和县| 卢龙县| 灵丘县| 高碑店市| 南召县| 民权县| 江西省| 响水县| 甘孜| 临洮县| 沂水县| 赞皇县| 博兴县| 曲靖市| 嘉义市| 盱眙县| 图们市|