您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“如何實現iOS版微信的滑動View效果”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何實現iOS版微信的滑動View效果”這篇文章吧。
前言
最近經常交替使用Android和iOS手機。對于兩個系統,從我們常用的列表來看,Android一般的列表菜單是通過長按出來的,而iOS是通過滑動出現的。比如我們常用的微信,對于Android版本,長按某個聊天好友,會彈出 標為未讀,置頂聊天,刪除聊天 選項;對于iOS的版本,右滑,會顯示出 標為未讀,刪除 選項
---------------------------------我是分割線---------------------------------
1. 滑動View
1.1 內容展示
我在Android上面,實現了一個滑動的View,模仿的是微信的iOS版,先簡單列舉一下功能,直接上圖,看著比較直觀一些。下面我放了四個動畫,分別是:滑動展開,單擊,長按,雙擊。
滑動效果
滑動展開
單擊選擇效果
單擊選擇
長按、雙擊效果
長按和雙擊效果
1.2 功能介紹
這個滑動View是一個自定義View,里面主要用了屬性動畫,觸摸檢測,觸摸反饋,配合測量完成。
使用時,只需要在布局文件里面調用就可以,和 TextView 等常用控件一樣,像這個樣子。
在activity里面
slideView = findViewById(R.id.slide_view1); slideView.setOnClickListener(new Listener.OnMenuClickListener() { @Override public void onClick(int id) { switch(id){ case R.id.menu_a: Util.toast("點擊 刪除"); break; case R.id.menu_b: Util.toast("點擊 設為未讀"); break; case R.id.sure_delete: Util.toast("點擊 確認刪除"); break; case R.id.long_press: Util.toast("長按"); VibratorLib.vibrateShort(); break; case R.id.double_click: Util.toast("雙擊"); break; } } });
在xml里面
<android.support.constraint.ConstraintLayout ...... <demo.com.library.view.SlideView android:id="@+id/slide_view1" ... app:image_src="@drawable/crekerli_pig" app:image_margin_start="10dp" app:image_slide_length="60dp" app:title_text="@string/title" app:title_text_size="20sp" app:title_text_color="@color/colorBlack" app:title_text_margin_start="10dp" app:message_text="@string/message" app:message_text_size="12sp" app:message_text_color="@color/colorBlack" app:message_text_margin_start="10dp" app:menu_a_background="@color/colorRed" app:menu_a_text="@string/delete" app:menu_a_text_size="20sp" app:menu_a_aspect="1" app:menu_b_background="@color/colorGray" app:menu_b_text="@string/set" app:menu_b_text_size="20sp" app:menu_b_aspect="1.2"/> ...
從xml文件里面,細心一點兒可以看出我對SlideView的內容分成了 image title message menu_a menu_b 五個部分。對應到View里面,看下面的圖示:
頁面展開前
頁面展開后
下面分別介紹一下五個部分。
2. 五個部分
2.1 image
image 表示用戶頭像,里面有三個配置參數
app:image_src="@drawable/crekerli_pig" app:image_margin_start="10dp" app:image_slide_length="60dp" image_src image_margin_start image_slide_length
2.2 title
app:title_text="@string/title" app:title_text_size="20sp" app:title_text_color="@color/colorBlack" app:title_text_margin_start="10dp" title_text title_text_size title_text_color title_text_margin_start
2.3 message
app:message_text="@string/message" app:message_text_size="12sp" app:message_text_color="@color/colorBlack" app:message_text_margin_start="10dp" message_text message_text_size message_text_color message_text_margin_start
2.4 menu
menu_a 和menu_b的內容是一樣的,所以這里放在一起統一講
app:menu_a_background="@color/colorRed" app:menu_a_text="@string/delete" app:menu_a_text_size="20sp" app:menu_a_aspect="1" app:menu_a_backgroundor app:menu_a_text app:menu_a_text_size app:menu_a_aspect
以上是“如何實現iOS版微信的滑動View效果”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。