Android仿QQ複製暱稱效果的實現方法

這篇文章主要介紹了Android仿QQ複製暱稱效果的實現方法,主要依賴的是一個開源項目,需要的朋友可以參考下

背景:

上一篇文章中,給出了一種複製QQ效果的方案,今天就來講講換一種方式實現。主要依賴的是一個開源項目https://github.com/shangmingchao/PopupList

解決辦法:

PopupList.java的代碼封裝的比較完善,用純java代碼實現view效果,不需要使用圖片,xml資源文件,引入的話,只需要copy PopupList.java代碼到項目工程中。

剩下的就是調用了。這裏不分析源碼,源碼比較簡單,只講如何使用的。

PopupList popupList = new PopupList(this);
List<String> popupMenuItemList = new ArrayList<>(Arrays.asList("複製QQ號"));
popupList.bind(tvQQNum, popupMenuItemList, new PopupList.PopupListListener() {
 @Override
 public boolean showPopupList(View adapterView, View contextView, int contextPosition) {
  return true;
 }
 
 @Override
 public void onPopupListClick(View contextView, int contextPosition, int position) {
  ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
  ClipData clipData = ClipData.newPlainText("Label", "10001");
  cm.setPrimaryClip(clipData);
 }
});

PopupList popupList = new PopupList(this);
List<String> popupMenuItemList = new ArrayList<>(Arrays.asList("複製"));
popupList.bind(tvUserName, popupMenuItemList, new PopupList.PopupListListener() {
 @Override
 public boolean showPopupList(View adapterView, View contextView, int contextPosition) {
  return true;
 }
 
 @Override
 public void onPopupListClick(View contextView, int contextPosition, int position) {
  ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
  ClipData clipData = ClipData.newPlainText("Label", "天天");
  cm.setPrimaryClip(clipData);
 }
});

用法很簡單。PopupList支持單個,也支持數組形式的結構,如朋友圈點讚的那種效果等。

參考資料:

https://github.com/shangmingchao/PopupList

總結

以上所述是小編給大家介紹的Android仿QQ複製暱稱效果的實現方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對神馬文庫網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章