仿掘金框架之listview全解(二)

2021-09-18 02:18:56 字數 1660 閱讀 4094

我先把昨天那篇「仿掘金框架之listview全解(一)」中提到的,我們可以通過這個專案練習到的知識點再列舉一下:

續「仿掘金框架之listview全解(一)」

思路:在listview的觸控事件當中,我們判斷手觸控滑動大於一定的正值或者小於一定的負值,我們分別對應進行頭尾bar的隱藏和顯示的屬性動畫!

step 0:先展示一下整體的布局

處理技巧:為了能夠在隱藏之後全屏都是listview那麼我們需要用relativelayout作為根布局,讓listview在底層,頭尾bar在上層!同時為了不讓headbar遮擋住headerview的內容,所以我們再做新增一塊headbar高度的空白view!

<?xml version="1.0" encoding="utf-8"?>

step 1:從xml中例項化頭尾bar

mbottom_bar = (linearlayout) findviewbyid(r.id.bottom_bar);

mhead_bar = (linearlayout) findviewbyid(r.id.head_bar);

step 2:實現listview的觸控事件:

mlistview.setontouchlistener(new view.ontouchlistener()  else if (v1 < -3 && !isrunning && direction == 0) 

mstarty = mendy;

break;

case motionevent.action_up:

break;

}return false;

}});

//隱藏頭尾bar的方法(這裡我們用的是屬性動畫)

public void hidebar()

@override

public void onanimationend(animator animation)

});}//顯示頭尾bar的方法

public void showbar()

注:這裡我再一次使用了識別符號的手法,

第乙個是通過改變isrunning的狀態來判斷動畫是結束!否則在快速滑動時,我們動畫會有卡頓的現象!

第二個是通過direction識別符號,來判斷滑動的方向,這樣也是為了保證在向同乙個方向上產生觸控滑動時,不會因為每一小段距離的滑動就呼叫一次動畫從而導致動畫不順暢!

大家如果想看一下這兩個標誌符是怎樣影響效果的,那麼可clone一下**然後自己把值替換掉試試看!

老規矩最後看一下我們仿掘金的效果圖:

框架使用 收藏集 掘金

android 開源庫 v layout 手把手帶你分析 天貓都在用的 ui 框架 android 掘金 前言 v layout 是阿里出品的基礎 ui 框架,用於快速實現頁面的複雜布局,在手機天貓 android版 內廣泛使用 仿美團詳情滑動介面,並相容 nestedscroll 巢狀 andro...

《沙漠掘金》之隨想

沙漠掘金 之隨想 寫在開頭的話 如果你沒有做過這個遊戲 非電腦遊戲 就此打住,玩玩這個遊戲先。否則,看下去也是茫茫然不知所云,並且讓自己失去了玩這個遊戲的機會。個人覺得這個遊戲還是挺有意思的。值得把玩與回味。於是有了本文。上周四的下午,我們部門放下工作,參與了這個課題 沙漠掘金 遊戲。遊戲完畢之後,...

ListView之BaseAdapter的基本使用

當 adapter和arrayadapter不能滿足我們的需求時,我們就需要通過繼承baseadapter來建立我們自定義的介面卡 1 baseadapter的基本結構 方法 getcount 介面卡資料集中資料個數 getitem int position 從資料集中獲取指定位置的資料項 geti...