public WordPopup(AnnotationActivity activity) { mContext = activity; mWindow = new PopupWindow(mContext); if (Build.VERSION.SdkInt >= BuildVersionCodes.Honeycomb) { mWindow.SoftInputMode = SoftInput.AdjustNothing; } mWindowManager = activity.GetSystemService(Context.WindowService).JavaCast <IWindowManager>(); history = new List <int>(); LayoutInflater inflater = (LayoutInflater)mContext.GetSystemService(Context.LayoutInflaterService); mRootView = inflater.Inflate(Resource.Layout.Popup, null); mBubble = (LinearLayout)mRootView.FindViewById(Resource.Id.bubble); mScroll = (ScrollView)mRootView.FindViewById(Resource.Id.scroller); mArrowDown = (ImageView)mRootView.FindViewById(Resource.Id.arrow_down); mArrowUp = (ImageView)mRootView.FindViewById(Resource.Id.arrow_up); mChars = (TextView)mRootView.FindViewById(Resource.Id.charsText); mChars.LinksClickable = true; mChars.MovementMethod = LinkMovementMethod.Instance; mContent = (TextView)mRootView.FindViewById(Resource.Id.content); mContent.LinksClickable = true; mContent.MovementMethod = LinkMovementMethod.Instance; mBookmark = (TextView)mRootView.FindViewById(Resource.Id.bookmarkTitle); this.Configure(mContext); mWindow.SetBackgroundDrawable(new BitmapDrawable()); mWindow.Width = ViewGroup.LayoutParams.WrapContent; mWindow.Height = ViewGroup.LayoutParams.WrapContent; mWindow.Touchable = true; mWindow.Focusable = false; mWindow.OutsideTouchable = false; mWindow.ContentView = mRootView; Button copyButton = (Button)mRootView.FindViewById(Resource.Id.charsCopy); copyButton.Touch += Button_Touch; copyButton.Click += CopyButton_Click; splitButton = (Button)mRootView.FindViewById(Resource.Id.button_split); splitButton.Touch += Button_Touch; splitButton.Click += SplitButton_Click; Button starButton = (Button)mRootView.FindViewById(Resource.Id.button_star); starButton.Touch += Button_Touch; starButton.Click += StarButton_Click; bookmarkButton = (Button)mRootView.FindViewById(Resource.Id.button_bookmark); bookmarkButton.Touch += Button_Touch; bookmarkButton.Click += BookmarkButton_Click; Button shareButton = (Button)mRootView.FindViewById(Resource.Id.button_share); shareButton.Touch += Button_Touch; shareButton.Click += ShareButton_Click; LinearLayout popupButtons = (LinearLayout)mRootView.FindViewById(Resource.Id.popupButtons); Dictionaries.DictInfo[] dicts = Dictionaries.DictList; PackageManager pm = mContext.PackageManager; foreach (Dictionaries.DictInfo dict in dicts) { bool installed = Dictionaries.IsPackageInstalled(pm, dict.packageName); if (installed) { Button dictBtn = new Button(mContext); dictBtn.Text = dict.id; dictBtn.TextSize = 20; dictBtn.SetTextColor(Color.ParseColor("#99333333")); //dictBtn.Tag = dict; dictBtn.SetPadding((int)(10 * scale), (int)(2 * scale), 0, (int)(2 * scale)); dictBtn.SetBackgroundColor(Color.Transparent); dictBtn.SetMinimumWidth(0); dictBtn.SetMinWidth(0); dictBtn.SetMinimumHeight(0); dictBtn.SetMinHeight(0); dictBtn.SetSingleLine(true); dictBtn.Touch += Button_Touch; popupButtons.AddView(dictBtn); dictBtn.Click += DictBtn_Click; } } }
private void CopyButton_Click(object sender, EventArgs e) { string ch = Dict.GetCh(entry); if (Build.VERSION.SdkInt < BuildVersionCodes.Honeycomb) { global::Android.Text.ClipboardManager clipboard = (global::Android.Text.ClipboardManager)mContext.GetSystemService(Context.ClipboardService); clipboard.Text = ch; } else { global::Android.Content.ClipboardManager clipboard = (global::Android.Content.ClipboardManager)mContext.GetSystemService(Context.ClipboardService); ClipData clip = ClipData.NewPlainText("Chinese", ch); clipboard.PrimaryClip = clip; } AnnotationActivity.sharedPrefs.Edit().PutString("lastText", ch).Commit(); Toast.MakeText(mContext, "Copied to clipboard", ToastLength.Short).Show(); }