android.widget.PopupWindow#setOnDismissListener ( )源码实例Demo

下面列出了android.widget.PopupWindow#setOnDismissListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: DoubleHeadedDragonBar   文件: MainActivity.java
public void popup(View view){
    // 用于PopupWindow的View
    View contentView=LayoutInflater.from(this).inflate(R.layout.pp_layout, null, false);

    PopupWindow window=new PopupWindow(contentView, 500, 500, true);
    window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
    window.setOutsideTouchable(true);
    window.setTouchable(true);

    final DoubleHeadedDragonBar bar3 = contentView.findViewById(R.id.bar3);
    bar3.setUnit("0", "100");
    bar3.setMinValue(10);
    bar3.setMaxValue(80);
    TextView testView2 = (TextView) LayoutInflater.from(this).inflate(R.layout.toast_view, null);
    bar3.setToastView(testView2);
    TextView testView1 = (TextView) LayoutInflater.from(this).inflate(R.layout.toast_view, null);
    bar3.setToastView1(testView1);

    window.showAsDropDown(view);
    window.setOnDismissListener(new PopupWindow.OnDismissListener() {
        @Override
        public void onDismiss() {
            bar3.close();
        }
    });
}
 
源代码2 项目: AdvancedTextView   文件: SelectableTextView.java
/**
 * 长按弹出菜单
 *
 * @param offsetY
 * @param actionMenu
 * @return 菜单创建成功,返回true
 */
private void showActionMenu(int offsetY, ActionMenu actionMenu) {

    mActionMenuPopupWindow = new PopupWindow(actionMenu, WindowManager.LayoutParams.WRAP_CONTENT,
            mActionMenuHeight, true);
    mActionMenuPopupWindow.setFocusable(true);
    mActionMenuPopupWindow.setOutsideTouchable(false);
    mActionMenuPopupWindow.setBackgroundDrawable(new ColorDrawable(0x00000000));
    mActionMenuPopupWindow.showAtLocation(this, Gravity.TOP | Gravity.CENTER_HORIZONTAL, 0, offsetY);

    mActionMenuPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
        @Override
        public void onDismiss() {
            Selection.removeSelection(getEditableText());
            // 如果设置了分散对齐,ActionMenu销毁后,强制刷新一次,防止出现文字背景未消失的情况
            if (isTextJustify)
                SelectableTextView.this.postInvalidate();
        }
    });
}
 
源代码3 项目: FamilyChat   文件: ImagePickerFloderPop.java
public ImagePickerFloderPop(Activity context, ImageFloderBean curFloder, ImagePickerGridPresenter presenter)
{
    this.mContext = context;
    this.mCurFloder = curFloder;
    this.mPresenter = presenter;
    this.mAllFloderList = mPresenter.getAllFloderList();

    mLayout = LayoutInflater.from(context).inflate(R.layout.layout_imagepicker_floder_pop, null);
    mPop = new PopupWindow(mLayout, RelativeLayout.LayoutParams.FILL_PARENT,
            RelativeLayout.LayoutParams.WRAP_CONTENT, true);
    mPop.setBackgroundDrawable(new BitmapDrawable());// 响应返回键必须的语句。
    mPop.setFocusable(true);//设置pop可获取焦点
    mPop.setAnimationStyle(R.style.FloderPopAnimStyle);//设置显示、消失动画
    mPop.setOutsideTouchable(true);//设置点击外部可关闭pop
    mPop.setOnDismissListener(this);

    mListView = (ListView) mLayout.findViewById(R.id.lv_floderpop);
    ImagePickerFloderAdapter adapter = new ImagePickerFloderAdapter(context, mAllFloderList, curFloder);
    mListView.setAdapter(adapter);
    mListView.setOnItemClickListener(this);

    mLayout.findViewById(R.id.view_floderpop_bg).setOnClickListener(this);
}
 
源代码4 项目: 365browser   文件: TextBubble.java
/**
 * Constructs a {@link TextBubble} instance.
 * @param context  Context to draw resources from.
 * @param rootView The {@link View} to use for size calculations and for display.
 * @param stringId The id of the string resource for the text that should be shown.
 * @param accessibilityStringId The id of the string resource of the accessibility text.
 */
public TextBubble(Context context, View rootView, @StringRes int stringId,
        @StringRes int accessibilityStringId) {
    mContext = context;
    mRootView = rootView.getRootView();
    mStringId = stringId;
    mAccessibilityStringId = accessibilityStringId;
    mPopupWindow = new PopupWindow(mContext);
    mDrawable = new ArrowBubbleDrawable(context);
    mHandler = new Handler();

    mPopupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
    mPopupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
    mPopupWindow.setBackgroundDrawable(mDrawable);
    mPopupWindow.setAnimationStyle(R.style.TextBubbleAnimation);

    mPopupWindow.setTouchInterceptor(this);
    mPopupWindow.setOnDismissListener(mDismissListener);

    mMarginPx = context.getResources().getDimensionPixelSize(R.dimen.text_bubble_margin);

    // Set predefined styles for the TextBubble.
    mDrawable.setBubbleColor(
            ApiCompatibilityUtils.getColor(mContext.getResources(), R.color.google_blue_500));
}
 
源代码5 项目: LLApp   文件: CustomPopWindow.java
/**
 * 添加一些属性设置
 * @param popupWindow
 */
private void apply(PopupWindow popupWindow){
    popupWindow.setClippingEnabled(mClippEnable);
    if(mIgnoreCheekPress){
        popupWindow.setIgnoreCheekPress();
    }
    if(mInputMode!=-1){
        popupWindow.setInputMethodMode(mInputMode);
    }
    if(mSoftInputMode!=-1){
        popupWindow.setSoftInputMode(mSoftInputMode);
    }
    if(mOnDismissListener!=null){
        popupWindow.setOnDismissListener(mOnDismissListener);
    }
    if(mOnTouchListener!=null){
        popupWindow.setTouchInterceptor(mOnTouchListener);
    }
    popupWindow.setTouchable(mTouchable);



}
 
源代码6 项目: BaldPhone   文件: S.java
public static void showDropDownPopup(BaldActivity baldActivity, int windowsWidth, DropDownRecyclerViewAdapter.DropDownListener dropDownListener, View view) {
    final RelativeLayout dropDownContainer = (RelativeLayout) LayoutInflater.from(baldActivity).inflate(R.layout.drop_down_recycler_view, null, false);
    final RecyclerView recyclerView = dropDownContainer.findViewById(R.id.recycler_view);
    recyclerView.setLayoutManager(new LinearLayoutManager(baldActivity) {
        @Override
        public boolean canScrollVertically() {
            return false;
        }
    });
    final PopupWindow popupWindow = new PopupWindow(dropDownContainer, (int) (windowsWidth / 1.3),
            (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 82 * dropDownListener.size(), baldActivity.getResources().getDisplayMetrics()), true);
    recyclerView.addItemDecoration(
            new HorizontalDividerItemDecoration.Builder(baldActivity)
                    .drawable(R.drawable.settings_divider)
                    .build()
    );

    recyclerView.setAdapter(new DropDownRecyclerViewAdapter(baldActivity, popupWindow, dropDownListener));

    final ViewGroup root = (ViewGroup) baldActivity.getWindow().getDecorView().getRootView();
    if (root == null) throw new AssertionError();
    popupWindow.setOnDismissListener(() -> {
        S.clearDim(root);
        dropDownListener.onDismiss();
    });
    popupWindow.setBackgroundDrawable(baldActivity.getDrawable(R.drawable.empty));
    popupWindow.showAsDropDown(view);
    baldActivity.autoDismiss(popupWindow);
    S.applyDim(root);
}
 
源代码7 项目: ImagePicker   文件: ImageFloderPop.java
/**
 * 从Activity底部弹出来
 */
public void showAtBottom(Activity activity, View parent, ImageFolderBean curFloder, onFloderItemClickListener listener)
{
    this.mActReference = new WeakReference<>(activity);
    this.mListener = listener;

    View contentView = LayoutInflater.from(activity).inflate(R.layout.layout_image_floder_pop, null);
    int height = activity.getResources().getDimensionPixelSize(R.dimen.imagepicker_floder_pop_height);
    mPopupWindow = new PopupWindow(contentView, ViewGroup.LayoutParams.MATCH_PARENT, height, true);
    mPopupWindow.setBackgroundDrawable(new BitmapDrawable());// 响应返回键必须的语句。
    mPopupWindow.setFocusable(true);//设置pop可获取焦点
    mPopupWindow.setAnimationStyle(R.style.FloderPopAnimStyle);//设置显示、消失动画
    mPopupWindow.setOutsideTouchable(true);//设置点击外部可关闭pop
    mPopupWindow.setOnDismissListener(this);

    mListView = (ListView) contentView.findViewById(R.id.lv_image_floder_pop);
    final int position = ImageDataModel.getInstance().getAllFolderList().indexOf(curFloder);
    mAdapter = new ImageFloderAdapter(activity, position);
    mListView.setAdapter(mAdapter);
    mListView.setOnItemClickListener(this);

    mPopupWindow.showAtLocation(parent, Gravity.BOTTOM, 0, 0);
    toggleWindowAlpha();

    // 增加绘制监听
    ViewTreeObserver vto = mListView.getViewTreeObserver();
    vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener()
    {
        @Override
        public void onGlobalLayout()
        {
            // 移除监听
            mListView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
            mListView.setSelection(position);
        }
    });
}
 
private void showPopupWindow() {
    mPopupWindow = new PopupWindow(mPopupView, ViewGroup.LayoutParams.MATCH_PARENT, popHeight, true);
    mPopupWindow.setBackgroundDrawable(new BitmapDrawable());
    mPopupWindow.setOutsideTouchable(true);
    mPopupWindow.setAnimationStyle(R.style.showScalingAnimation);
    mPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
        @Override
        public void onDismiss() {
            resumeAnim();
        }
    });
    mPopupWindow.showAtLocation(mPopupView, Gravity.BOTTOM, 0, 0);
}
 
源代码9 项目: YCDialog   文件: TestActivity.java
private void showPopupWindow() {
    //创建对象
    PopupWindow popupWindow = new PopupWindow(this);
    View inflate = LayoutInflater.from(this).inflate(R.layout.view_pop_custom, null);
    //设置view布局
    popupWindow.setContentView(inflate);
    popupWindow.setWidth(LinearLayout.LayoutParams.WRAP_CONTENT);
    popupWindow.setHeight(LinearLayout.LayoutParams.WRAP_CONTENT);
    //设置动画的方法
    popupWindow.setAnimationStyle(R.style.BottomDialog);
    //设置PopUpWindow的焦点,设置为true之后,PopupWindow内容区域,才可以响应点击事件
    popupWindow.setTouchable(true);
    //设置背景透明
    popupWindow.setBackgroundDrawable(new ColorDrawable(0x00000000));
    //点击空白处的时候让PopupWindow消失
    popupWindow.setOutsideTouchable(true);
    // true时,点击返回键先消失 PopupWindow
    // 但是设置为true时setOutsideTouchable,setTouchable方法就失效了(点击外部不消失,内容区域也不响应事件)
    // false时PopupWindow不处理返回键,默认是false
    popupWindow.setFocusable(false);
    //设置dismiss事件
    popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
        @Override
        public void onDismiss() {

        }
    });
    boolean showing = popupWindow.isShowing();
    if (!showing){
        //show,并且可以设置位置
        popupWindow.showAsDropDown(mTv1);
    }
    //popupWindow.dismiss();
}
 
源代码10 项目: quickhybrid-android   文件: FrmPopMenu.java
/**
 * 获取弹出视图
 *
 * @return
 */
public void setPopWindow() {
    ListView lv = new ListView(context);
    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(DensityUtil.dip2px(context, 150), ViewGroup.LayoutParams.WRAP_CONTENT);
    lp.setMargins(15, 0, 15, 15);
    lv.setLayoutParams(lp);
    lv.setBackgroundColor(Color.WHITE);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        lv.setElevation(15);
    }
    lv.setAdapter(new IconAdapter());
    lv.setOnItemClickListener(this);

    LinearLayout ll = new LinearLayout(context);
    ll.setLayoutParams(new ViewGroup.LayoutParams(DensityUtil.dip2px(context, 200), ViewGroup.LayoutParams.WRAP_CONTENT));
    ll.addView(lv);
    pop = new PopupWindow(ll, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true);
    pop.setTouchable(true);
    pop.setOutsideTouchable(true);
    //必须添加背景,否则点击空白无法自动隐藏
    pop.setBackgroundDrawable(new BitmapDrawable());
    pop.setOnDismissListener(new PopupWindow.OnDismissListener() {
        @Override
        public void onDismiss() {
            if (changedListener != null) {
                changedListener.onHide(FrmPopMenu.this);
            }
        }
    });
}
 
源代码11 项目: xmpp   文件: MainActivity.java
/**
 * 初始化popupwindow
 */
private void initialPopup() {

    LayoutInflater inflater = LayoutInflater.from(this);
    // 引入窗口配置文件
    View view = inflater.inflate(R.layout.third_image_popupwindow, null);

    view.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
    // 创建PopupWindow对象
    pop = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT, false);
    pop.setOnDismissListener(this);
    rl_pop_null = (RelativeLayout) view
            .findViewById(R.id.third_popupwindow_layout_null);
    tv_pop_status = (TextView) view
            .findViewById(R.id.third_popupwindow_textView_status);
    tv_pop_quxiao = (TextView) view
            .findViewById(R.id.third_popupwindow_textView_quxiao);
    tv_pop_chakan = (TextView) view
            .findViewById(R.id.third_popupwindow_textView_look);
    tv_pop_change = (TextView) view
            .findViewById(R.id.third_popupwindow_textView_change);
    rl_pop_null.setOnClickListener(this);
    tv_pop_quxiao.setOnClickListener(this);
    tv_pop_status.setOnClickListener(this);
    tv_pop_chakan.setOnClickListener(this);
    tv_pop_change.setOnClickListener(this);
    // 需要设置一下此参数,点击外边可消失
    pop.setBackgroundDrawable(new BitmapDrawable());
    // 设置点击窗口外边窗口消失
    pop.setOutsideTouchable(true);
    // 设置此参数获得焦点,否则无法点击
    pop.setFocusable(true);
    initialPopups();

}
 
源代码12 项目: xmpp   文件: MainActivity.java
/**
 * 初始化popupwindow
 */
private void initialPopups() {

    LayoutInflater inflater = LayoutInflater.from(this);
    // 引入窗口配置文件
    View view = inflater.inflate(R.layout.third_image_popupwindows, null);

    view.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
    // 创建PopupWindow对象
    pops = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT, false);
    pops.setOnDismissListener(this);
    rl_pop_nulls = (RelativeLayout) view
            .findViewById(R.id.third_popupwindow_layout_nulls);
    tv_pop_quxiaos = (TextView) view
            .findViewById(R.id.third_popupwindow_textView_quxiaoo);
    tv_pop_photo = (TextView) view
            .findViewById(R.id.third_popupwindow_textView_photo);
    tv_pop_camera = (TextView) view
            .findViewById(R.id.third_popupwindow_textView_camera);
    rl_pop_nulls.setOnClickListener(this);
    tv_pop_quxiaos.setOnClickListener(this);
    tv_pop_photo.setOnClickListener(this);
    tv_pop_camera.setOnClickListener(this);
    // 需要设置一下此参数,点击外边可消失
    pops.setBackgroundDrawable(new BitmapDrawable());
    // 设置点击窗口外边窗口消失
    pops.setOutsideTouchable(true);
    // 设置此参数获得焦点,否则无法点击
    pops.setFocusable(true);
    initialPopupss();
}
 
源代码13 项目: xmpp   文件: MainActivity.java
/**
 * 初始化popupwindow
 */
private void initialPopupss() {

    LayoutInflater inflater = LayoutInflater.from(this);
    // 引入窗口配置文件
    View view = inflater.inflate(R.layout.third_image_popupwindowss, null);

    view.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
    // 创建PopupWindow对象
    popss = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT, false);
    popss.setOnDismissListener(this);
    rl_pop_nullss = (RelativeLayout) view.findViewById(R.id.third_popupwindow_layout_nullss);
    tv_pop_quxiaoss = (TextView) view.findViewById(R.id.third_popupwindow_textView_quxiaooo);
    tv_pop_online = (TextView) view.findViewById(R.id.third_popupwindow_textView_status_online);
    tv_pop_qme = (TextView) view.findViewById(R.id.third_popupwindow_textView_status_qme);
    tv_pop_busy = (TextView) view.findViewById(R.id.third_popupwindow_textView_status_busy);
    tv_pop_wurao = (TextView) view.findViewById(R.id.third_popupwindow_textView_status_wurao);
    tv_pop_leave = (TextView) view.findViewById(R.id.third_popupwindow_textView_status_leave);
    tv_pop_yinshen = (TextView) view.findViewById(R.id.third_popupwindow_textView_status_yinshen);

    rl_pop_nullss.setOnClickListener(this);
    tv_pop_quxiaoss.setOnClickListener(this);
    tv_pop_online.setOnClickListener(this);
    tv_pop_qme.setOnClickListener(this);
    tv_pop_busy.setOnClickListener(this);
    tv_pop_wurao.setOnClickListener(this);
    tv_pop_leave.setOnClickListener(this);
    tv_pop_yinshen.setOnClickListener(this);
    // 需要设置一下此参数,点击外边可消失
    pops.setBackgroundDrawable(new BitmapDrawable());
    // 设置点击窗口外边窗口消失
    pops.setOutsideTouchable(true);
    // 设置此参数获得焦点,否则无法点击
    pops.setFocusable(true);
}
 
源代码14 项目: PlayTogether   文件: PopupWindowManager.java
public static PopupWindow getPopupWindow(View contentView, int width, int height, final View
				dimView, final onCloseListener listener)
{
	final PopupWindow mPopupWindow = new PopupWindow(contentView, width, height, true);
	mPopupWindow.setTouchable(true);
	mPopupWindow.setAnimationStyle(R.style.selectPopupWindowAnim);
	mPopupWindow.setBackgroundDrawable(new BitmapDrawable());
	mPopupWindow.setTouchInterceptor(new View.OnTouchListener()
	{
		@Override
		public boolean onTouch(View v, MotionEvent event)
		{
			if (event.getAction() == MotionEvent.ACTION_OUTSIDE)
			{
				mPopupWindow.dismiss();
				return true;
			}
			return false;
		}
	});
	mPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener()
	{
		@Override
		public void onDismiss()
		{
			if (dimView != null)
				toggleLight(false, dimView);
			if (listener != null)
				listener.onClose();
		}
	});
	return mPopupWindow;
}
 
源代码15 项目: aptoide-client-v8   文件: ReactionsPopup.java
/**
 * Constructor to create a new reactions popup with an anchor view.
 *
 * @param context Context the reactions popup is running in, through which it
 * can access the current theme, resources, etc.
 * @param anchor Anchor view for this popup. The popup will appear on top of
 */

public ReactionsPopup(@NonNull Context context, @NonNull View anchor) {
  this.anchorView = anchor;

  popup = new PopupWindow();
  popup.setWindowLayoutMode(WindowManager.LayoutParams.WRAP_CONTENT,
      WindowManager.LayoutParams.WRAP_CONTENT);
  reactionsView = new ReactionsView(context);
  reactionsView.setVisibility(View.VISIBLE);
  popup.setContentView(reactionsView);
  popup.setFocusable(true);
  popup.setClippingEnabled(true);
  popup.setBackgroundDrawable(
      ContextCompat.getDrawable(context, R.drawable.rounded_corners_reactions));
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    popup.setElevation(10);
  }

  reactionsView.setCallback(reactionType -> {
    if (reactionClickListener != null) {
      reactionClickListener.onReactionItemClick(reactionType);
    }
  });

  popup.setOnDismissListener(() -> {
    if (onDismissListener != null) {
      onDismissListener.onDismiss(reactionsView);
    }
  });
}
 
源代码16 项目: incubator-weex-playground   文件: WXMask.java
@Override
protected View initComponentHostView(@NonNull Context context) {

  mContainerView = new WXMaskView(context);
  mPopupWindow = new PopupWindow(context);
  mPopupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
    mPopupWindow.setAttachedInDecor(true);
  }

  //setClippingEnabled(false) will cause INPUT_ADJUST_PAN invalid.
  //mPopupWindow.setClippingEnabled(false);

  mPopupWindow.setContentView(mContainerView);
  mPopupWindow.setWidth(WindowManager.LayoutParams.WRAP_CONTENT);
  mPopupWindow.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);
  mPopupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN |
      WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
  mPopupWindow.setFocusable(true);

  mPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
    @Override
    public void onDismiss() {
      fireVisibleChangedEvent(false);
    }
  });

  int y = 0;
  int statusBarHeight = 0;
  int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
  if (resourceId > 0) {
    statusBarHeight = context.getResources().getDimensionPixelSize(resourceId);
    y = statusBarHeight;
  }

  mPopupWindow.showAtLocation(((Activity) context).getWindow().getDecorView(),
      Gravity.TOP | Gravity.START,
      0,
      y);
  fireVisibleChangedEvent(true);

  return mContainerView;
}
 
源代码17 项目: edx-app-android   文件: PlayerFragment.java
private void showSettingsPopup(final Point p) {
    try{
        if(player!=null){
            player.getController().setAutoHide(!getTouchExploreEnabled());
            Activity context = getActivity();

            float popupHeight =  getResources().getDimension(R.dimen.settings_popup_height);
            float popupWidth =  getResources().getDimension(R.dimen.settings_popup_width);

            // Inflate the popup_layout.xml
            LinearLayout viewGroup = (LinearLayout) context.findViewById(R.id.setting_popup);
            LayoutInflater layoutInflater = (LayoutInflater) context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View layout = layoutInflater.inflate(R.layout.panel_settings_popup, viewGroup);

            // Creating the PopupWindow
            settingPopup = new PopupWindow(context);
            settingPopup.setContentView(layout);
            settingPopup.setWidth((int)popupWidth);
            settingPopup.setHeight((int)popupHeight);
            settingPopup.setFocusable(true);
            settingPopup.setOnDismissListener(new OnDismissListener() {
                @Override
                public void onDismiss() {
                    hideTransparentImage();
                    if(player!=null){
                        player.getController().setSettingsBtnDrawable(false);
                        player.getController().setAutoHide(!getTouchExploreEnabled());
                    }
                }
            });

            // Clear the default translucent background
            settingPopup.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

            // Displaying the popup at the specified location, + offsets.
            settingPopup.showAtLocation(layout, Gravity.NO_GRAVITY, p.x-(int)popupWidth, p.y-(int)popupHeight);

            TextView tv_closedCaption = (TextView) layout.findViewById(R.id.tv_closedcaption);
            if ((langList != null) && (langList.size() > 0))
            {
                tv_closedCaption.setBackgroundResource(R.drawable.white_rounded_selector);
                tv_closedCaption.setOnClickListener(new View.OnClickListener(){
                    public void onClick(View paramAnonymousView) {
                        showCCFragmentPopup();
                    }
                });
            }else{
                tv_closedCaption.setBackgroundResource(R.drawable.grey_roundedbg);
                tv_closedCaption.setOnClickListener(null);
            }

            layout.findViewById(R.id.tv_video_speed).setOnClickListener(v -> showVideoSpeedFragmentPopup());
        }
    }catch(Exception e){
        logger.error(e);
    }
}
 
源代码18 项目: searchablespinner   文件: SearchableSpinner.java
private void init() {
    setupColors();
    setupList();
    mSearchEditText.setImeOptions(EditorInfo.IME_ACTION_DONE | EditorInfo.IME_FLAG_NO_EXTRACT_UI);
    mStartSearchImageView.setOnClickListener(this);
    mDoneSearchImageView.setOnClickListener(this);
    mSearchEditText.addTextChangedListener(mTextWatcher);

    mPopupWindow = new PopupWindow(mContext);
    mPopupWindow.setContentView(mSpinnerListContainer);
    mPopupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
    mPopupWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
    mPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
        @Override
        public void onDismiss() {
            hideEdit();
        }
    });
    mPopupWindow.setFocusable(false);
    mPopupWindow.setElevation(DefaultElevation);
    mPopupWindow.setBackgroundDrawable(ContextCompat.getDrawable(mContext, R.drawable.spinner_drawable));

    mSpinnerListView.setOnItemClickListener(mOnItemSelectedListener);
    if (mCurrSelectedView == null) {
        if (!TextUtils.isEmpty(mSearchHintText)) {
            mSearchEditText.setHint(mSearchHintText);
        }
        if (!TextUtils.isEmpty(mNoItemsFoundText)) {
            mEmptyTextView.setText(mNoItemsFoundText);
        }
        if (mCurrSelectedView == null && !TextUtils.isEmpty(mRevealEmptyText)) {
            TextView textView = new TextView(mContext);
            textView.setText(mRevealEmptyText);
            mCurrSelectedView = new SelectedView(textView, -1, 0);
            mRevealItem.addView(textView);
        }
    } else {
        mSpinnerListView.performItemClick(mCurrSelectedView.getView(), mCurrSelectedView.getPosition(), mCurrSelectedView.getId());
    }
    clearAnimation();
    clearFocus();
}
 
源代码19 项目: hipda   文件: EmojiPopup.java
private EmojiPopup(final View rootView, final EmojiEditText emojiEditText, @Nullable final RecentEmoji recent) {
    this.context = rootView.getContext();
    this.rootView = rootView;
    this.emojiEditText = emojiEditText;
    this.recentEmoji = recent != null ? recent : new RecentEmojiManager(context);
    this.keyBoardHeight = getPreferences().getInt(PREF_KEYBOARD_HEIGHT, 0);

    popupWindow = new PopupWindow(context);
    popupWindow.setBackgroundDrawable(new BitmapDrawable(context.getResources(), (Bitmap) null)); // To avoid borders & overdraw

    final EmojiView emojiView = new EmojiView(context, new OnEmojiClickedListener() {
        @Override
        public void onEmojiClicked(final Emoji emoji) {
            emojiEditText.input(emoji);
            recentEmoji.addEmoji(emoji);

            if (onEmojiClickedListener != null) {
                onEmojiClickedListener.onEmojiClicked(emoji);
            }
        }
    }, this.recentEmoji);

    emojiView.setOnEmojiBackspaceClickListener(new OnEmojiBackspaceClickListener() {
        @Override
        public void onEmojiBackspaceClicked(final View v) {
            emojiEditText.backspace();

            if (onEmojiBackspaceClickListener != null) {
                onEmojiBackspaceClickListener.onEmojiBackspaceClicked(v);
            }
        }
    });

    popupWindow.setContentView(emojiView);
    popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
    popupWindow.setWidth(WindowManager.LayoutParams.MATCH_PARENT);
    popupWindow.setHeight((int) context.getResources().getDimension(R.dimen.emoji_keyboard_height));
    popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
        @Override
        public void onDismiss() {
            if (onEmojiPopupDismissListener != null) {
                onEmojiPopupDismissListener.onEmojiPopupDismiss();
            }
        }
    });

    setupListener();
}
 
源代码20 项目: 4pdaClient-plus   文件: PopupPanelView.java
/**
 * Defining all components of emoticons keyboard
 */
private void enablePopUpView() {
    // Creating a pop window for emoticons keyboard

    popupWindow = new PopupWindow(popUpView, ViewGroup.LayoutParams.MATCH_PARENT,
            keyboardHeight, false);


    popupWindow.setOnDismissListener(() -> emoticonsCover.setVisibility(LinearLayout.GONE));
}