91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

TextView長按復制實現方法 3種方法實踐總結

發布時間:2020-09-05 14:32:58 來源:網絡 閱讀:1260 作者:huangwenwenlili 欄目:移動開發

實現效果

TextView長按復制實現方法 3種方法實踐總結

TextView長按復制實現方法 3種方法實踐總結

TextView長按復制實現方法 3種方法實踐總結

  1. 使用ContextMenu

    (1)注冊菜單


@Override

    public void onCreate(Bundle savedInstanceState) {

mMoblieTextView = (TextView) findViewById(R.id.mobile_textview);

//注冊上下文菜單

  registerForContextMenu(mMoblieTextView);

}

    (2)onCreateContextMenu添加菜單

@Override

public void onCreateContextMenu(ContextMenu menu, View v,

ContextMenuInfo menuInfo) {

// TODO Auto-generated method stub

super.onCreateContextMenu(menu, v, menuInfo);

//在上下文菜單選項中添加選項內容

        //add方法的參數:add(分組id,itemid, 排序, 菜單文字)

menu.add(0, 0, 0, "復制電話號碼");

}

       (3)點擊事件響應

@Override

public boolean onContextItemSelected(MenuItem item) {

// TODO Auto-generated method stub

if (item.getItemId() == 0) {

if (null == clipboard) {

clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);


       }

// Creates a new text clip to put on the clipboard

       ClipData clip = ClipData.newPlainText("simple text",mMoblieTextView.getText());


       // Set the clipboard's primary clip.

       clipboard.setPrimaryClip(clip);

return true;

}

return super.onContextItemSelected(item);

}

2.使用OnLongClickListener 彈出 PopupWindow實現


(1)OnLongClickListener事件響應

 PopupWindow PopupmenuCopy;

 // 幫助窗口

    TextView mPopUpBtn;

@Override

    public void onCreate(Bundle savedInstanceState) {

mMoblieTextView = (TextView) findViewById(R.id.mobile_textview);

mMoblieTextView.setOnLongClickListener(new View.OnLongClickListener() {

@Override

public boolean onLongClick(View v) {

// TODO Auto-generated method stub

popupCopy();

return false;

}

});

}

(2)創建窗口

private void popupCopy() {

LayoutInflater layoutInflater = (LayoutInflater) mContext

.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

View layoutView = layoutInflater.inflate(

R.layout.popup_copy, null);

// Creating the PopupWindow

RelativeLayout popLayout = (RelativeLayout) layoutView

.findViewById(R.id.popLayout);

scaleFontSize(popLayout);

PopupmenuCopy = new PopupWindow(mContext);

PopupmenuCopy.setContentView(layoutView);

PopupmenuCopy.setWidth(LayoutParams.WRAP_CONTENT);

PopupmenuCopy.setHeight(LayoutParams.WRAP_CONTENT);

PopupmenuCopy.setBackgroundDrawable(getResources().getDrawable(

                R.drawable.left_drawer_item_bg));

PopupmenuCopy.setFocusable(true);// 點擊空白處時,隱藏掉pop窗口

PopupmenuCopy.setOutsideTouchable(true);

mPopUpBtn  = (TextView) layoutView.findViewById(R.id.popbtn);

// 幫助頁面按鈕事件響應

mPopUpBtn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

if (null == clipboard) {

clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);

       }

// Creates a new text clip to put on the clipboard

       ClipData clip = ClipData.newPlainText("simple text",mMoblieTextView.getText());

       clipboard.setPrimaryClip(clip);

       PopupmenuCopy.dismiss();

}

});

int[] location = new int[2];  

mMoblieTextView.getLocationOnScreen(location);

PopupmenuCopy.showAtLocation(mMoblieTextView,Gravity.NO_GRAVITY, location[0],location[1]+mMoblieTextView.getHeight());

//控件上方

//PopupmenuCopy.showAtLocation(mMoblieTextView,Gravity.NO_GRAVITY, location[0], location[1]-PopupmenuCopy.getHeight());

}


  (3)popup_copy布局文件

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:id="@+id/popLayout"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:background="@color/transparent"

     >

    

    <TextView 

        android:id="@+id/popbtn"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:padding="8dp"

        android:text="@string/copy_mobileID"

        android:textSize= "@dimen/add_item_text_size"

        android:background="@drawable/btn_copy_selector"

        android:textColor="@color/black"

        android:gravity="center"

        android:layout_centerInParent="true"

        />


</RelativeLayout>


3.使用使用OnLongClickListener 彈出 QuickAction實現


QuickAction mQuickAction;

 mMoblieTextView.setOnLongClickListener(new View.OnLongClickListener() {

@Override

public boolean onLongClick(View v) {

// TODO Auto-generated method stub

mQuickAction.show(v);

return false;

}

});

 ActionItem copyItem =       new ActionItem(0, getString(R.string.copy_mobileID));

          mQuickAction = new QuickAction(mContext);

          mQuickAction.addActionItem(copyItem);

        //setup the action item click listener

    mQuickAction.setOnActionItemClickListener(new QuickAction.OnActionItemClickListener() {

    @Override

    public void onItemClick(QuickAction quickAction, int pos, int actionId) {

           switch (actionId) {

         case 0:

         if (null == clipboard) {

    clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);


           }

           ClipData clip = ClipData.newPlainText("simple text",mMoblieTextView.getText());

         

           clipboard.setPrimaryClip(clip);

               break;

             default:

                break;

           }          

    }

    });


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇明县| 富锦市| 宾川县| 池州市| 昂仁县| 贞丰县| 丹寨县| 綦江县| 项城市| 长汀县| 沽源县| 武邑县| 韶关市| 含山县| 景洪市| 滨州市| 内江市| 昌平区| 海丰县| 温宿县| 玛多县| 句容市| 惠州市| 共和县| 海兴县| 铜鼓县| 大冶市| 崇州市| 平阴县| 巫溪县| 桃源县| 调兵山市| 滁州市| 卓资县| 阿合奇县| 思茅市| 望城县| 科技| 肇庆市| 海淀区| 上饶市|