android仿iOS的那種上拉下拉介面

2021-08-17 10:51:29 字數 2027 閱讀 8444

感覺ios的那種上拉下拉介面的功能很好,所以今天在專案中也加了,都實現了,把專案中的例子拿出來給大家分享一下

主要是重寫scrollview,xml布局也是一樣的,只能有乙個

linearlayout或者

relativelayout布局,如下就是,裡面的注釋很詳細,都能看懂

public class 

myreboundscrollview extends

scrollview

public

myreboundscrollview(context context, attributeset attrs)

@suppresslint("missingsupercall"

) @override

protected void

onfinishinflate()

}@override

protected void

onlayout(boolean

changed, int

l, int

t, int

r, int

b) //在觸控事件中, 處理上拉和下拉的邏輯

@override

public boolean

dispatchtouchevent(motionevent ev)

int

action = ev.getaction();

switch

(action)

//計算手指移動的距離

float

nowy = ev.gety();

int

deltay = (int

) (nowy - starty

); //是否應該移動布局

boolean

shouldmove =

(canpulldown

&& deltay > 0) //可以下拉, 並且手指向下移動

|| (canpullup

&& deltay< 0) //可以上拉, 並且手指向上移動

|| (canpullup

&& canpulldown

); //既可以上拉也可以下拉(這種情況出現在scrollview包裹的控制項比scrollview還小)

if(shouldmove)

break

; default

: break

; }

return super

.dispatchtouchevent(ev);

}//判斷是否滾動到頂部

private boolean

iscanpulldown()

//判斷是否滾動到底部

private boolean

iscanpullup()

}

在布局中引用就是了

如:

android

:layout_width=

"match_parent"

android

:layout_height=

"match_parent"

android

:background=

"@color/background"

android

:scrollbars=

"none"

>

android

:layout_width=

"match_parent"

android

:layout_height=

"match_parent"

android

:orientation=

"vertical"

>

linearlayout

>

com.***.myreboundscrollview

>

Android仿IOS 彈出框的實現

完了之後,我們需要把專案匯入到eclipse裡面,然後匯入到自己的專案中,下面讓我們看看 布局檔案的 如圖 主activity的 package com.amb.ios dialog import zhangphil.iosdialog.widget.actionsheetdialog import...

Android之仿IOS對話方塊

開發過程中經常用到對話方塊,單選的,多選的 列表式的各式各樣。老規矩先上圖。我是直接拿了專案的切圖,背景,文字顏色或者可以自行替換。核心 自定義對話方塊 private void fifthresult mconfirm.setonclicklistener new view.onclicklist...

Android 高仿IOS載入資料時圓形的進度條

本文有material design風格的圓形進度條和5.0以下的進度條兩種,material design風格參考開源的progresswheel,可以根據自己需求修改進度條的布局檔案來實現自己想要的效果,先來看看專案執行的效果 兩種效果的區別只是傳入的布局檔案的id不同,布局檔案的區別就是把pr...