仿ios中layout的滑動效果

2022-08-29 06:12:11 字數 2177 閱讀 6556

package code.suibianchou.com.custormview2;

import android.annotation.suppresslint;

import android.content.context;

import android.graphics.rect;

import android.util.attributeset;

import android.view.motionevent;

import android.view.view;

import android.view.animation.translateanimation;

import android.widget.scrollview;

/*** created by administrator on 2017/5/18 0018.

*/public class bouncescrollview extends scrollview

/***

* 根據 xml 生成檢視工作完成.該函式在生成檢視的最後呼叫,在所有子檢視新增完之後. 即使子類覆蓋了 onfinishinflate

* 方法,也應該呼叫父類的方法,使該方法得以執行.

*/@suppresslint("missingsupercall")

@override

protected void onfinishinflate()

}@override

public boolean dispatchtouchevent(motionevent ev)

break;

case motionevent.action_up:

break;

default:

break;

}lastx = currentx;

lasty = currenty;

if (updownslide && inner != null) commontouchevent(ev);

return super.dispatchtouchevent(ev);

}@override

public boolean onintercepttouchevent(motionevent ev)

/***

* 監聽touch

*/@override

public boolean ontouchevent(motionevent ev)

/***

* 觸控事件

** @param ev

*/public void commontouchevent(motionevent ev)

clear0();

break;

case motionevent.action_move:

final float prey = y;// 按下時的y座標

float nowy = ev.gety();// 時時y座標

int deltay = (int) (prey - nowy);// 滑動距離

if (!iscount)

y = nowy;

// 當滾動到最上或者最下時就不會再滾動,這時移動布局

if (isneedmove())

// 移動布局

inner.layout(inner.getleft(), inner.gettop() - deltay / 2,

inner.getright(), inner.getbottom() - deltay / 2);

}iscount = true;

break;

default:

break;}}

/***

* 回縮動畫

*/public void animation()

// 是否需要開啟動畫

public boolean isneedanimation()

/***

* 是否需要移動布局 inner.getmeasuredheight():獲取的是控制項的總高度

** getheight():獲取的是螢幕的高度

** @return

*/public boolean isneedmove()

return false;

}private void clear0()

}

仿ios 可滑動的ScrollView

本人在開發過程中頁面效果由於使用android本身控制項無法達到ios那種可拉伸的view,感到很不爽,因為ios總是可以滑動,避免再新增功能時重新布局的麻煩,所以整了一下,顯示了可拉伸的view,終於可以與ios保持一致了.建立乙個自定義view userdefinescrollview 繼承sc...

仿美團app,浮動layout滑動到頂部懸停效果

說明原理 好,看完效果圖之後,我們來看一下這個效果的設計原理。首先,我們來看一張整體的設計圖 設計效果圖是分為三個部分 頂部區域 浮動區域a 列表區域。1.當螢幕往上面滑動的時候,互動區域a也跟著滑動 2.當浮動區域a滑動到頂部的時候,浮動區域a停留在頂部 上右圖 3.當螢幕往下滑動的時候,浮動區域...

仿美團app,浮動layout滑動到頂部懸停效果

那麼,這時問題來了。怎麼能讓浮動區域a停在頂部,而且不影響其他內容的滑動呢?在這裡我們可以寫多乙個和浮動區域a介面效果一模一樣的浮動區域b。在布局的時候,先把浮動區域b的可見性設定為gone,即隱藏起來。當浮動區域a滑動到頂部的時候,就把浮動區域b的可見性設定為visible,即可見。這時浮動區域b...