11package com .moioio .moioio_lib ;
22
3+ import android .app .Activity ;
4+ import android .content .ClipboardManager ;
35import android .content .Context ;
46import android .graphics .Color ;
57import android .widget .ImageView ;
68
79import com .moioio .android .MyAndroidLib ;
810import com .moioio .android .easyui .UI ;
11+ import com .moioio .android .easyui .widget .MyEditText ;
912import com .moioio .android .easyui .widget .MyGifView ;
1013import com .moioio .android .easyui .widget .MyImageView ;
1114import com .moioio .android .easyui .widget .MyLayout ;
1417import com .moioio .android .util .BitmapUtil ;
1518import com .moioio .android .util .DisplayUtil ;
1619import com .moioio .android .util .ViewUtil ;
20+ import com .moioio .util .MyLog ;
1721
1822public class TestView extends MyView {
1923
@@ -27,6 +31,7 @@ public TestView(Context context) {
2731 @ Override
2832 public void initPage (Context context ) {
2933 setBackgroundColor (Color .BLUE );
34+ registerClipListener (getActivity ());
3035
3136// myGifView = new MyGifView(context);
3237// myGifView.load("assets://ic_game.gif");
@@ -83,13 +88,57 @@ public void initPage(Context context) {
8388// btn.setOnClickListener(v->{
8489//
8590// });
91+
92+ MyEditText myEditText = new MyEditText (context );
93+ myEditText .makeLayout (UI .FILL_PARENT ,UI .WRAP_CONTENT );
94+
95+
8696//
8797 this .addView (view );
8898 this .addView (view2 );
99+ this .addView (myEditText );
89100
90101
91102 view .setOnClickListener (v ->{
92103 v .requestLayout ();
93104 });
94105 }
106+
107+
108+ ClipboardManager mClipboardManager ;
109+ ClipboardManager .OnPrimaryClipChangedListener mOnPrimaryClipChangedListener ;
110+ private void registerClipListener (Activity activity ) {
111+ mClipboardManager = (ClipboardManager ) activity .getSystemService (Context .CLIPBOARD_SERVICE );
112+ mOnPrimaryClipChangedListener = new ClipboardManager .OnPrimaryClipChangedListener () {
113+ @ Override
114+ public void onPrimaryClipChanged () {
115+
116+
117+
118+ if (mClipboardManager .hasPrimaryClip ()
119+ && mClipboardManager .getPrimaryClip ().getItemCount () > 0 ) {
120+ // 获取复制、剪切的文本内容
121+ CharSequence content = mClipboardManager .getPrimaryClip ().getItemAt (0 ).getText ();
122+ MyLog .debug ( "复制、剪切的内容为:" + content );
123+ }
124+ }
125+ };
126+ mClipboardManager .addPrimaryClipChangedListener (mOnPrimaryClipChangedListener );
127+ }
128+
129+
130+ private void clearClipListener ()
131+ {
132+ try {
133+ if (mClipboardManager != null && mOnPrimaryClipChangedListener != null ) {
134+ mClipboardManager .removePrimaryClipChangedListener (mOnPrimaryClipChangedListener );
135+ }
136+ }
137+ catch (Exception e )
138+ {
139+ e .printStackTrace ();
140+ }
141+ }
142+
143+
95144}
0 commit comments