最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android仿QQ復(fù)制昵稱效果

 更新時間:2019年05月05日 10:09:38   作者:xing_star  
這幾天做一個復(fù)制文本的需求,突然看到QQ上復(fù)制昵稱跟QQ號的效果,覺得很不錯,就想要模仿一波,辦法比較簡單粗暴,反編譯QQ獲取了那個.9圖片,然后就是用PopWindow實現(xiàn)了,需要的朋友可以參考下

背景:

這幾天做一個復(fù)制文本的需求,突然看到QQ上復(fù)制昵稱跟QQ號的效果,覺得很不錯,就想要模仿一波,辦法比較簡單粗暴,反編譯QQ獲取了那個.9圖片,然后就是用PopWindow實現(xiàn)了。

解決辦法:

自定義PopWindow

public class CopyContentPopWindow extends PopupWindow {
  private final View content;
 TextView tvLabel;
 TextView tvLabelFake;
 Activity context;
 private OnCopyContentListener onCopyContentListener;
 public CopyContentPopWindow(Activity context) {
  LayoutInflater inflater = (LayoutInflater) context
    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  content = inflater.inflate(R.layout.popwindow_copy_content, null);
  tvLabel = content.findViewById(R.id.tv_label);
  tvLabelFake = content.findViewById(R.id.tv_label_fake);
  tvLabel.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    if (onCopyContentListener != null) {
     onCopyContentListener.copyContent();
    }
    CopyContentPopWindow.this.dismiss();
   }
  });
  this.setContentView(content);
  this.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
  this.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
  this.setFocusable(true);
  this.setOutsideTouchable(true);
  this.update();
  ColorDrawable dw = new ColorDrawable(0000000000);
  this.setBackgroundDrawable(dw);
  this.context = context;
 }
 public void setTvLabel(String text) {
  tvLabel.setText(text);
  tvLabelFake.setText(text);
  update();
 }
 public void setOnCopyContentListener(OnCopyContentListener onCopyContentListener) {
  this.onCopyContentListener = onCopyContentListener;
 }
 public void showPopupWindow(View parent) {
  if (!this.isShowing()) {
   int[] location = new int[2];
   parent.getLocationOnScreen(location);
//   this.showAsDropDown(parent, 0, 0);
   showAtLocation(parent, Gravity.NO_GRAVITY, location[0], location[1]);
  } else {
   this.dismiss();
  }
 }
 public interface OnCopyContentListener {
  void copyContent();
 }
}

具體使用代碼:

public class MainActivity extends AppCompatActivity {
 TextView tvNickName;
 TextView tvQQNum;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  tvNickName = findViewById(R.id.tv_nick_name);
  tvQQNum = findViewById(R.id.tv_qq_num);
  tvNickName.setOnClickListener(v -> {
   CopyContentPopWindow copyContentPopWindow = new CopyContentPopWindow(MainActivity.this);
   copyContentPopWindow.setTvLabel("復(fù)制");
   copyContentPopWindow.setOnCopyContentListener(() -> {
    ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
    ClipData clipData = ClipData.newPlainText("Label", tvNickName.getText().toString());
    cm.setPrimaryClip(clipData);
    Toast.makeText(MainActivity.this, "復(fù)制成功", Toast.LENGTH_LONG).show();
   });
   copyContentPopWindow.showPopupWindow(tvNickName);
  });
  tvQQNum.setOnClickListener(v -> {
   CopyContentPopWindow copyContentPopWindow = new CopyContentPopWindow(MainActivity.this);
   copyContentPopWindow.setTvLabel("復(fù)制QQ號");
   copyContentPopWindow.setOnCopyContentListener(() -> {
    ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
    ClipData clipData = ClipData.newPlainText("Label", "100001");
    cm.setPrimaryClip(clipData);
    Toast.makeText(MainActivity.this, "復(fù)制成功", Toast.LENGTH_LONG).show();
   });
   copyContentPopWindow.showPopupWindow(tvQQNum);
  });
 }
}

代碼下載地址

鏈接:https://pan.baidu.com/s/1jChJvQ9i6JrfFqwU3q1Mtg 密碼:lsf7

其他相關(guān)

同事找到了一個不錯的開源項目,https://github.com/shangmingchao/PopupList 突然覺得這個用起來更容易

總結(jié)

以上所述是小編給大家介紹的Android仿QQ復(fù)制昵稱效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • Android筆記整理之常見錯誤及解決方案匯總

    Android筆記整理之常見錯誤及解決方案匯總

    本文是小編日常整理的筆記關(guān)于android常見的錯誤及解決方案,本文對大家學(xué)習(xí)android相關(guān)知識非常有幫助,遇到問題能夠很好的定位問題解決問題,感興趣的朋友了解了解吧
    2015-11-11
  • Android 修改viewpage滑動速度的實現(xiàn)代碼

    Android 修改viewpage滑動速度的實現(xiàn)代碼

    由于Viewpager的滑動速度是固定的,所以很頭疼,下面小編通過實例代碼給大家分享android 修改viewpage滑動速度的方法,需要的朋友參考下吧
    2017-09-09
  • Android App安裝列表獲取方法(實踐方案)

    Android App安裝列表獲取方法(實踐方案)

    文章介紹了Android 11及以上版本獲取應(yīng)用列表的方案調(diào)整,包括權(quán)限配置、白名單配置和action配置三種方式,并提供了相應(yīng)的Java和Kotlin代碼示例,建議在Android 15及以上版本中使用action方式獲取應(yīng)用列表,感興趣的朋友一起看看吧
    2025-03-03
  • UiOS開發(fā)中ITextView回收或關(guān)閉鍵盤使用方法總結(jié)

    UiOS開發(fā)中ITextView回收或關(guān)閉鍵盤使用方法總結(jié)

    iOS開發(fā)中,發(fā)現(xiàn)UITextView沒有像UITextField中textFieldShouldReturn:這樣的方法,那么要實現(xiàn)UITextView關(guān)閉鍵盤,必須使用其他的方法,下面是可以使用的幾種方法,需要的朋友參考下吧
    2016-11-11
  • Android.bp語法和使用方法講解

    Android.bp語法和使用方法講解

    Android.bp是用來替換Android.mk的配置文件,下面這篇文章主要給大家介紹了關(guān)于Android.bp語法和使用的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • Android中View自定義組合控件的基本編寫方法

    Android中View自定義組合控件的基本編寫方法

    這篇文章主要介紹了Android中View自定義組合控件的基本編寫方法,可以在布局的時候更加隨意地繼承,需要的朋友可以參考下
    2016-04-04
  • Android中Item實現(xiàn)點擊水波紋效果

    Android中Item實現(xiàn)點擊水波紋效果

    這篇文章主要給大家介紹了關(guān)于Android中Item實現(xiàn)點擊水波紋效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Android開發(fā)實現(xiàn)的IntentUtil跳轉(zhuǎn)多功能工具類【包含視頻、音頻、圖片、攝像頭等操作功能】

    Android開發(fā)實現(xiàn)的IntentUtil跳轉(zhuǎn)多功能工具類【包含視頻、音頻、圖片、攝像頭等操作功能】

    這篇文章主要介紹了Android開發(fā)實現(xiàn)的IntentUtil跳轉(zhuǎn)多功能工具類,該封裝類還包含視頻、音頻、圖片、攝像頭等操作功能,需要的朋友可以參考下
    2017-11-11
  • Android GridLayout使用案例詳解

    Android GridLayout使用案例詳解

    這篇文章主要介紹了Android GridLayout使用案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Android協(xié)程作用域與序列發(fā)生器限制介紹梳理

    Android協(xié)程作用域與序列發(fā)生器限制介紹梳理

    協(xié)程的作用是什么?協(xié)程是一種輕量級的線程,解決異步編程的復(fù)雜性,異步的代碼使用協(xié)程可以用順序進行表達,文中通過示例代碼介紹詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-08-08

最新評論

拉萨市| 双牌县| 郸城县| 剑阁县| 万州区| 临武县| 巩留县| 无极县| 阿合奇县| 台南市| 安宁市| 中方县| 罗城| 永和县| 易门县| 龙山县| 当涂县| 左权县| 临武县| 北流市| 类乌齐县| 绍兴县| 阿拉善盟| 宜昌市| 沁源县| 眉山市| 长海县| 藁城市| 衡山县| 天峨县| 龙川县| 普宁市| 南靖县| 呈贡县| 辰溪县| 正宁县| 松阳县| 阳春市| 黄冈市| 灯塔市| 柏乡县|