這篇文章主要為大家展示了“如何實(shí)現(xiàn)仿IOS的越界回彈效果和左右滑動(dòng)功能”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何實(shí)現(xiàn)仿IOS的越界回彈效果和左右滑動(dòng)功能”這篇文章吧。
在蘆淞等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營(yíng)銷型網(wǎng)站建設(shè),外貿(mào)營(yíng)銷網(wǎng)站建設(shè),蘆淞網(wǎng)站建設(shè)費(fèi)用合理。
最初的本意是做一個(gè)TimeLine時(shí)間軸,到后來逐漸成為了一個(gè)側(cè)滑的自定義控件。也很感謝大家的支持,所以趁著年初有空閑,重構(gòu)了當(dāng)前項(xiàng)目。以后也會(huì)逐漸完善和維護(hù)本項(xiàng)目并提供maven依賴,再次感謝!
Feature
SwipeDragLayout使用ViewDragHelper來進(jìn)行滑動(dòng)操作,代碼少,易理解,核心代碼不過150行
使用了保留一個(gè)靜態(tài)類的方法來確保只有一個(gè)展開,并在onDetachedFromWindow方法中進(jìn)行關(guān)閉操作
提供了多種自定義屬性,見下表
sample使用了DataBinding和kotlin 進(jìn)行了多類型的綁定,對(duì)于了解和使用DataBinding大有益處,添加多種Type更是十分簡(jiǎn)單,再也不用extends RecyclerView.Adapter了
自定義屬性
presenter.onItemClick(v,item)}" android:src="@mipmap/edit"/> presenter.onItemClick(v,item)}" android:text="@{item.content}" android:textColor="#000000" tools:text="this is content"/> presenter.onItemClick(v,item)}" android:paddingRight="25dp" android:src="@mipmap/trash"/> presenter.onItemClick(v,item)}" android:src="@mipmap/star"/>
注意:暫時(shí)只支持兩個(gè)子View,一個(gè)content,一個(gè)側(cè)滑的menu,以后會(huì)支持
回調(diào)監(jiān)聽
public interface SwipeListener { /** * 拖動(dòng)中,可根據(jù)offset 進(jìn)行其他動(dòng)畫 * @param layout * @param offsetRatio 偏移相對(duì)于menu寬度的比例 * @param offset 偏移量px */ void onUpdate(SwipeDragLayout layout, float offsetRatio, float offset); /** * 展開完成 * @param layout */ void onOpened(SwipeDragLayout layout); /** * 關(guān)閉完成 * @param layout */ void onClosed(SwipeDragLayout layout); }
以上是“如何實(shí)現(xiàn)仿IOS的越界回彈效果和左右滑動(dòng)功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!