List of usage examples for android.widget PopupWindow setOnDismissListener
public void setOnDismissListener(OnDismissListener onDismissListener)
From source file:com.dycody.android.idealnote.SketchFragment.java
private void showPopup(View anchor, final int eraserOrStroke) { boolean isErasing = eraserOrStroke == SketchView.ERASER; oldColor = mColorPicker.getColor();//from ww w. j a v a 2s. c o m DisplayMetrics metrics = new DisplayMetrics(); getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics); // Creating the PopupWindow PopupWindow popup = new PopupWindow(getActivity()); popup.setContentView(isErasing ? popupEraserLayout : popupLayout); popup.setWidth(WindowManager.LayoutParams.WRAP_CONTENT); popup.setHeight(WindowManager.LayoutParams.WRAP_CONTENT); popup.setFocusable(true); popup.setOnDismissListener(() -> { if (mColorPicker.getColor() != oldColor) mColorPicker.setOldCenterColor(oldColor); }); // Clear the default translucent background popup.setBackgroundDrawable(new BitmapDrawable()); // Displaying the popup at the specified location, + offsets (transformed // dp to pixel to support multiple screen sizes) popup.showAsDropDown(anchor); // Stroke size seekbar initialization and event managing SeekBar mSeekBar; mSeekBar = (SeekBar) (isErasing ? popupEraserLayout.findViewById(R.id.stroke_seekbar) : popupLayout.findViewById(R.id.stroke_seekbar)); mSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // When the seekbar is moved a new size is calculated and the new shape // is positioned centrally into the ImageView setSeekbarProgress(progress, eraserOrStroke); } }); int progress = isErasing ? seekBarEraserProgress : seekBarStrokeProgress; mSeekBar.setProgress(progress); }
From source file:com.kccomy.orgar.ui.note.NoteFragment.java
private void initPopupWindow() { View popupWindowView = getActivity().getLayoutInflater().inflate(R.layout.popup_window_share, null); //??//from w ww .ja v a 2 s.co m Intent shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.addCategory(Intent.CATEGORY_DEFAULT); shareIntent.setType("text/plain"); PackageManager packageManager = getContext().getPackageManager(); List<ResolveInfo> resolveInfos = packageManager.queryIntentActivities(shareIntent, PackageManager.GET_RESOLVED_FILTER); // RecyclerAdapter RecyclerView recyclerView = (RecyclerView) popupWindowView.findViewById(R.id.popup_widow_share_recycler); ShareAdapter shareAdapter = new ShareAdapter(packageManager); shareAdapter.setData(resolveInfos); shareAdapter.setAppIconClickListener(shareListener); recyclerView.setAdapter(shareAdapter); recyclerView .setLayoutManager(new GridLayoutManager(getContext(), 2, LinearLayoutManager.HORIZONTAL, false)); // ?PopupWindow popupWindowView.setFocusable(true); popupWindowView.setFocusableInTouchMode(true); PopupWindow popupWindow = new PopupWindow(popupWindowView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); popupWindow.setFocusable(true); popupWindow.setOutsideTouchable(true); popupWindow.setBackgroundDrawable(new ColorDrawable(0x00000000)); popupWindow.setAnimationStyle(R.style.anim_menu_bottombar); setWindowAlpha(0.5f); popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { setWindowAlpha(1f); } }); popupWindow.showAtLocation(getActivity().getLayoutInflater().inflate(R.layout.fragment_note, null), Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0); }
From source file:cn.zhangls.android.weibo.ui.weibo.WeiboFrameProvider.java
/** * ????//from w w w .j av a2s .com * * @param holder * @param status */ private void setupPopupBar(final FrameHolder holder, final Status status) { LayoutInflater layoutInflater = LayoutInflater .from(holder.binding.fgHomeWeiboPopupBar.getContext().getApplicationContext()); // final View popupView; if (status.isFavorited() && status.getUser().isFollowing()) {// ?? popupView = layoutInflater.inflate(R.layout.popup_window_weibo_follow_save_post, holder.binding.flWeiboContainer, false); } else if (!status.isFavorited() && status.getUser().isFollowing()) {// ?? popupView = layoutInflater.inflate(R.layout.popup_window_weibo_follow_unsave_post, holder.binding.flWeiboContainer, false); } else if (status.isFavorited() && !status.getUser().isFollowing()) {// ?? popupView = layoutInflater.inflate(R.layout.popup_window_weibo_unfollow_save_post, holder.binding.flWeiboContainer, false); } else {// ?? popupView = layoutInflater.inflate(R.layout.popup_window_weibo_unfollow_unsave_post, holder.binding.flWeiboContainer, false); } // PopupWindow final PopupWindow popupWindow = new PopupWindow(popupView, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); popupWindow.setTouchable(true); popupWindow.setFocusable(true); popupWindow.setOutsideTouchable(true); // popupWindow popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { Animation animation = AnimationUtils.loadAnimation( holder.binding.fgHomeWeiboPopupBar.getContext().getApplicationContext(), R.anim.rotate_180_end); animation.setDuration(300); animation.setFillAfter(true); holder.binding.fgHomeWeiboPopupBar.startAnimation(animation); } }); popupWindow.setAnimationStyle(R.style.PopupWindowAnimStyle); // popupWindow Item ? if (status.isFavorited()) {// ?????? popupWindow.getContentView().findViewById(R.id.menu_item_weibo_more_save_post) .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { FavoritesAPI favoritesAPI = new FavoritesAPI( mBinding.getRoot().getContext().getApplicationContext(), AccessTokenKeeper.readAccessToken( mBinding.getRoot().getContext().getApplicationContext())); BaseObserver<Favorite> observer = new BaseObserver<Favorite>( mBinding.getRoot().getContext().getApplicationContext()) { @Override public void onNext(Favorite value) { } @Override public void onError(Throwable e) { super.onError(e); } @Override public void onComplete() { } }; favoritesAPI.destroy(observer, status.getId()); popupWindow.dismiss(); } }); } else { popupWindow.getContentView().findViewById(R.id.menu_item_weibo_more_unsave_post) .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { FavoritesAPI favoritesAPI = new FavoritesAPI( mBinding.getRoot().getContext().getApplicationContext(), AccessTokenKeeper.readAccessToken( mBinding.getRoot().getContext().getApplicationContext())); BaseObserver<Favorite> observer = new BaseObserver<Favorite>( mBinding.getRoot().getContext().getApplicationContext()) { @Override public void onNext(Favorite value) { } @Override public void onError(Throwable e) { super.onError(e); } @Override public void onComplete() { } }; favoritesAPI.create(observer, status.getId()); popupWindow.dismiss(); } }); } if (status.getUser().isFollowing()) {// ???? popupWindow.getContentView().findViewById(R.id.menu_item_weibo_more_follow) .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { popupWindow.dismiss(); } }); } else { popupWindow.getContentView().findViewById(R.id.menu_item_weibo_more_unfollow) .setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { popupWindow.dismiss(); } }); } // ??? holder.binding.fgHomeWeiboPopupBar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (popupWindow != null && !popupWindow.isShowing()) { Animation animation = AnimationUtils.loadAnimation( holder.binding.fgHomeWeiboPopupBar.getContext().getApplicationContext(), R.anim.rotate_180_start); animation.setDuration(300); animation.setFillAfter(true); holder.binding.fgHomeWeiboPopupBar.startAnimation(animation); popupWindow.showAsDropDown(holder.binding.fgHomeWeiboPopupBar); } } }); }
From source file:bruce.kk.brucetodos.MainActivity.java
/** * ? /*from ww w.java2 s .co m*/ */ private void showAddPop() { final EditText editText = new EditText(MainActivity.this); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); editText.setLayoutParams(layoutParams); // editText.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18); editText.setTextColor(getResources().getColor(android.R.color.holo_green_light)); editText.setHint("?~"); editText.setHintTextColor(getResources().getColor(android.R.color.holo_orange_dark)); editText.setBackgroundColor(getResources().getColor(android.R.color.black)); final PopupWindow popupWindow = new PopupWindow(editText, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); popupWindow.setBackgroundDrawable(new BitmapDrawable()); // ? popupWindow.setTouchable(true); popupWindow.setFocusable(true); popupWindow.setOutsideTouchable(true); popupWindow.showAtLocation(contentMain, Gravity.CENTER, 0, 0); popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { LogDetails.d(": " + editText.getText().toString()); if (!TextUtils.isEmpty(editText.getText().toString().trim())) { ProgressDialogUtils.showProgressDialog(); UnFinishItem item = new UnFinishItem(); Date date = new Date(); item.createDay = date; item.content = editText.getText().toString().trim(); item.modifyDay = date; dataList.add(item); refreshData(true); presenter.addItem(item); } } }); }
From source file:com.zhangyp.higo.drawingboard.fragment.SketchFragment.java
private void showPopup(View anchor, final int eraserOrStroke) { boolean isErasing = eraserOrStroke == SketchView.ERASER; oldColor = mColorPicker.getColor();// w w w .j a v a 2 s .c o m DisplayMetrics metrics = new DisplayMetrics(); getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics); // Creating the PopupWindow PopupWindow popup = new PopupWindow(getActivity()); popup.setContentView(isErasing ? popupEraserLayout : popupLayout); popup.setWidth(WindowManager.LayoutParams.WRAP_CONTENT); popup.setHeight(WindowManager.LayoutParams.WRAP_CONTENT); popup.setFocusable(true); popup.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { if (mColorPicker.getColor() != oldColor) mColorPicker.setOldCenterColor(oldColor); } }); // Clear the default translucent background popup.setBackgroundDrawable(new BitmapDrawable()); // Displaying the popup at the specified location, + offsets (transformed // dp to pixel to support multiple screen sizes) popup.showAsDropDown(anchor); // Stroke size seekbar initialization and event managing SeekBar mSeekBar; mSeekBar = (SeekBar) (isErasing ? popupEraserLayout.findViewById(R.id.stroke_seekbar) : popupLayout.findViewById(R.id.stroke_seekbar)); mSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // When the seekbar is moved a new size is calculated and the new shape // is positioned centrally into the ImageView setSeekbarProgress(progress, eraserOrStroke); } }); int progress = isErasing ? seekBarEraserProgress : seekBarStrokeProgress; mSeekBar.setProgress(progress); }
From source file:com.bf.zxd.zhuangxudai.my.fragment.FinancialApplyFragment.java
private void ChangeIcon() { //PopupWindow----START-----??PopupWindowPopupWindow??? backgroundAlpha(0.3f);/*from w w w.j a v a 2 s. com*/ View view = LayoutInflater.from(getActivity().getBaseContext()).inflate(R.layout.popu_window, null); final PopupWindow popupWindow = new PopupWindow(view, ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT, true); popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); popupWindow.setOutsideTouchable(true); popupWindow.setFocusable(true); //?? DisplayMetrics dm = new DisplayMetrics(); getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); popupWindow.setWidth(dm.widthPixels); popupWindow.setAnimationStyle(R.style.popuwindow); //? popupWindow.showAtLocation(view, Gravity.BOTTOM, 0, 0); popupWindow.setOnDismissListener(new poponDismissListener_FinancialApplyFragment()); //PopupWindow-----END //PopupWindow Button button = (Button) view.findViewById(R.id.take_photo);//?? Button button1 = (Button) view.findViewById(R.id.all_photo);//? Button button2 = (Button) view.findViewById(R.id.out);//? button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { backgroundAlpha(1f); popupWindow.dismiss(); } }); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { backgroundAlpha(1f); popupWindow.dismiss(); //,? allPhoto(); } }); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { backgroundAlpha(1f); popupWindow.dismiss(); //,Intent???? Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //,?? File file = FileUitlity.getInstance(getActivity().getApplicationContext()).makeDir("head_image"); //?? path = file.getParent() + File.separatorChar + System.currentTimeMillis() + ".jpg"; //?IntentIntent? intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(path))); //? intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); //?Intent??RoundImageView startActivityForResult(intent, REQUEST_CODE); } }); }
From source file:com.bf.zxd.zhuangxudai.my.fragment.CompanyApplyFragment.java
private void ChangeIcon() { //PopupWindow----START-----??PopupWindowPopupWindow??? backgroundAlpha(0.3f);//from w w w . j a v a 2 s . co m View view = LayoutInflater.from(getActivity().getBaseContext()).inflate(R.layout.popu_window, null); final PopupWindow popupWindow = new PopupWindow(view, ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT, true); popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); popupWindow.setOutsideTouchable(true); popupWindow.setFocusable(true); //?? DisplayMetrics dm = new DisplayMetrics(); getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); popupWindow.setWidth(dm.widthPixels); popupWindow.setAnimationStyle(R.style.popuwindow); //? popupWindow.showAtLocation(view, Gravity.BOTTOM, 0, 0); popupWindow.setOnDismissListener(new poponDismissListener_CompanyApplyFragment()); //PopupWindow-----END //PopupWindow Button button = (Button) view.findViewById(R.id.take_photo);//?? Button button1 = (Button) view.findViewById(R.id.all_photo);//? Button button2 = (Button) view.findViewById(R.id.out);//? button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { backgroundAlpha(1f); popupWindow.dismiss(); } }); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { backgroundAlpha(1f); popupWindow.dismiss(); //,? Log.i("Daniel", "------"); allPhoto(); } }); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { backgroundAlpha(1f); popupWindow.dismiss(); //,Intent???? Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //,?? File file = FileUitlity.getInstance(getActivity().getApplicationContext()).makeDir("head_image"); //?? path = file.getParent() + File.separatorChar + System.currentTimeMillis() + ".jpg"; //?IntentIntent? intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(path))); //? intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); //?Intent??RoundImageView startActivityForResult(intent, REQUEST_CODE); } }); }
From source file:com.quwu.xinwo.release.Release_Activity.java
/** * /*from ww w .j ava 2 s. com*/ * PopupWindow * * */ private void showPopupWindow(View view, final int i) { // View contentView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.release_pop, null); final PopupWindow popupWindow = new PopupWindow(contentView, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, true); popupWindow.setOnDismissListener(new OnDismissListener() { public void onDismiss() { releaseLin.setAlpha(1f); } }); popupWindow.setTouchable(true); popupWindow.setTouchInterceptor(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return false; // true?touch // ? PopupWindowonTouchEvent?dismiss } }); // ?PopupWindowBackdismiss // APIbug popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.ic_launcher)); // ???show int[] location = new int[2]; view.getLocationOnScreen(location); popupWindow.showAtLocation(view, Gravity.NO_GRAVITY, location[0] + view.getWidth(), location[1] - 150); // TextView year = (TextView) contentView.findViewById(R.id.release_pop_yearText); year.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { handler.sendMessage(handler.obtainMessage(i, "/")); popupWindow.dismiss(); } }); TextView month = (TextView) contentView.findViewById(R.id.release_pop_monthText); month.setOnClickListener(new OnClickListener() { public void onClick(View v) { handler.sendMessage(handler.obtainMessage(i, "/")); popupWindow.dismiss(); } }); TextView day = (TextView) contentView.findViewById(R.id.release_pop_dayText); day.setOnClickListener(new OnClickListener() { public void onClick(View v) { handler.sendMessage(handler.obtainMessage(i, "/")); popupWindow.dismiss(); } }); }
From source file:com.cognizant.trumobi.PersonaLauncher.java
private void dismissPreview(final View v) { final PopupWindow window = (PopupWindow) v.getTag(R.id.TAG_PREVIEW); if (window != null) { hideDesktop(false);// www . j ava2 s . com window.setOnDismissListener(new PopupWindow.OnDismissListener() { @SuppressWarnings("unchecked") public void onDismiss() { ViewGroup group = (ViewGroup) v.getTag(R.id.workspace); int count = group.getChildCount(); for (int i = 0; i < count; i++) { ((ImageView) group.getChildAt(i)).setImageDrawable(null); } ArrayList<Bitmap> bitmaps = (ArrayList<Bitmap>) v.getTag(R.id.icon); for (Bitmap bitmap : bitmaps) bitmap.recycle(); v.setTag(R.id.workspace, null); v.setTag(R.id.icon, null); window.setOnDismissListener(null); } }); window.dismiss(); showingPreviews = false; mWorkspace.unlock(); mWorkspace.invalidate(); mDesktopLocked = false; } v.setTag(R.id.TAG_PREVIEW, null); }
From source file:com.cognizant.trumobi.PersonaLauncher.java
public void showPreviews(final View anchor, int start, int end) { if (mWorkspace != null && mWorkspace.getChildCount() > 0) { if (newPreviews) { showingPreviews = true;/* w w w.j a va2 s . c om*/ hideDesktop(true); mWorkspace.lock(); mWorkspace.openSense(true); } else { // check first if it's already open final PopupWindow window = (PopupWindow) anchor.getTag(R.id.TAG_PREVIEW); if (window != null) return; Resources resources = getResources(); PersonaWorkspace personaWorkspace = mWorkspace; PersonaCellLayout cell = ((PersonaCellLayout) personaWorkspace.getChildAt(start)); float max; ViewGroup preview; max = personaWorkspace.getChildCount(); preview = new LinearLayout(this); Rect r = new Rect(); // ADW: seems sometimes this throws an out of memory error.... // so... try { resources.getDrawable(R.drawable.pr_preview_background).getPadding(r); } catch (OutOfMemoryError e) { } int extraW = (int) ((r.left + r.right) * max); int extraH = r.top + r.bottom; int aW = cell.getWidth() - extraW; float w = aW / max; int width = cell.getWidth(); int height = cell.getHeight(); // width -= (x + cell.getRightPadding()); // height -= (y + cell.getBottomPadding()); if (width != 0 && height != 0) { showingPreviews = true; float scale = w / width; int count = end - start; final float sWidth = width * scale; float sHeight = height * scale; PreviewTouchHandler handler = new PreviewTouchHandler(anchor); ArrayList<Bitmap> bitmaps = new ArrayList<Bitmap>(count); for (int i = start; i < end; i++) { ImageView image = new ImageView(this); cell = (PersonaCellLayout) personaWorkspace.getChildAt(i); Bitmap bitmap = Bitmap.createBitmap((int) sWidth, (int) sHeight, Bitmap.Config.ARGB_8888); cell.setDrawingCacheEnabled(false); Canvas c = new Canvas(bitmap); c.scale(scale, scale); c.translate(-cell.getLeftPadding(), -cell.getTopPadding()); cell.dispatchDraw(c); image.setBackgroundDrawable(resources.getDrawable(R.drawable.pr_preview_background)); image.setImageBitmap(bitmap); image.setTag(i); image.setOnClickListener(handler); image.setOnFocusChangeListener(handler); image.setFocusable(true); if (i == mWorkspace.getCurrentScreen()) image.requestFocus(); preview.addView(image, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); bitmaps.add(bitmap); } PopupWindow p = new PopupWindow(this); p.setContentView(preview); p.setWidth((int) (sWidth * count + extraW)); p.setHeight((int) (sHeight + extraH)); p.setAnimationStyle(R.style.AnimationPreview); p.setOutsideTouchable(true); p.setFocusable(true); p.setBackgroundDrawable(new ColorDrawable(0)); p.showAsDropDown(anchor, 0, 0); p.setOnDismissListener(new PopupWindow.OnDismissListener() { public void onDismiss() { dismissPreview(anchor); } }); anchor.setTag(R.id.TAG_PREVIEW, p); anchor.setTag(R.id.workspace, preview); anchor.setTag(R.id.icon, bitmaps); } } } }