私はアンドロイドでポップアップを実装しています。ポップアップの外側をクリックすると閉じることができますが、同じimageview/ボタンをクリックしても閉じることができます。
1.on click on button1 it opens pop up
2.If I click outside it closes pop up
3.If I click on button1(when pop up is open), it closes pop and reopens it again
私が欲しいのは、ボタン1をクリックすると(ポップアップが開いているとき)、ポップを閉じるだけで、2回クリックしない限り再び開きません。
これは可能ですか?
注:ポップアップウィンドウ内に閉じるボタンは必要ありません。
pop_one.setOnClickListener(new OnClickListener() {
public void onClick(final View v) {
pop_one.getLocationOnScreen(location);
p = new Point();
p.x = location[0];
p.y = location[1];
popupshow(one_one_text,pop_one);
}
});
そして、その方法は次のとおりです。
public void popupshow(String pop_text, ImageView pop_one) {
int width = display.getWidth(); // deprecated
System.out.println("jsfjsfjnsdf"+width);
int new_width = width-(width/6) ;
LayoutInflater layoutInflater = (LayoutInflater) getActivity()
.getBaseContext().getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(
R.layout.career_options_popup_short, null);
final PopupWindow popupWindow = new PopupWindow(popupView, new_width,
LayoutParams.WRAP_CONTENT);
TextView popup_text = (TextView) popupView
.findViewById(R.id.popup_text);
popup_text.setMinimumWidth(300);
popup_text.setText(pop_text);
popupWindow.setBackgroundDrawable(new BitmapDrawable());
popupWindow.setOutsideTouchable(true);
popupWindow.showAsDropDown(popupView,p.x/10, p.y +p.x/8);
System.out.println("value of x" + p.x+" "+p.y);
//System.out.println("value of new width " + new_width+" get width "+popupWindow.getWidth()+" text box width "+popup_text.getWidth()+"pop view"+popupView.getWidth());
popupWindow.setFocusable(true);
}
よろしく、アスミ