나는 버튼이 : 내가 버튼을 클릭 할 때의 (a있는 ScrollView에서) "btnOpenPopup을", 팝업 창이 I 화면 여기팝업 창 안드로이드
에 팝업 창을 이동할 수 있습니다 나타납니다 것은 내 코드입니다 : 내가있는 ScrollView에 btnOpenPopup를 이동할 때
final ImageButton btnOpenPopup = (ImageButton) findViewById(R.id.buttonUndoRedo);
btnOpenPopup.setOnClickListener(new ImageButton.OnClickListener() {
@Override
public void onClick(View arg0) {
if (popupWindowEnabled == true) {
popupWindowEnabled = false;
LayoutInflater layoutInflater =
(LayoutInflater) getBaseContext()
.getSystemService(LAYOUT_INFLATER_SERVICE);
final View popupView = layoutInflater.inflate(R.layout.popup_window, null);
final PopupWindow popupWindow = new PopupWindow(
popupView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
// Font
TextView txt = (TextView) popupView.findViewById(R.id.textViewPopupWindow);
Typeface myNewFace = Typeface.createFromAsset(getAssets(), "fonts/futura.ttf");
txt.setTypeface(myNewFace);
Button btnDismiss = (Button) popupView.findViewById(R.id.dismiss);
btnDismiss.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
popupWindow.dismiss();
popupWindowEnabled = true;
}
});
popupWindow.showAsDropDown(btnOpenPopup, 50, -30);
popupView.setOnTouchListener(new View.OnTouchListener() {
int orgX, orgY;
int offsetX, offsetY;
@Override
public boolean onTouch(View v, MotionEvent event) {
//Toast.makeText(getApplicationContext(), "dEMO", Toast.LENGTH_SHORT).show();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
orgX = (int) event.getX();
orgY = (int) event.getY();
break;
case MotionEvent.ACTION_MOVE:
offsetX = (int) event.getRawX() - orgX;
offsetY = (int) event.getRawY() - orgY;
popupWindow.update(offsetX, offsetY, -1, -1, true);
break;
}
return true;
}
});
}
}
});
문제는 popupwindow 우리가 어떻게 btnOpenPopup를 이동할 때 이동 팝업 창을 방지하기 위해 위치를두고 btnOpenPopup
를 따를 것입니까? 미리 감사드립니다.
[다음] (http://android-er.blogspot.in/2012/03/example-of-using-popupwindow.html)을 따르고 있습니까? – pRaNaY