G
guguli
Neues Mitglied
- 0
Hi leute ich brauch ganz dringend Hilfe.
ich will ein AlertDialog erstellen wenn ich auf den Display klicke. (Also ohne Button) dazu hab ich OnTouchListener gemacht. aber irgendwie sehe ich meine Items nicht. also ich sehe eingelich gar nichts
.. hab das in Activity gemacht, ich hab auch ne View klasse.
ich poste die Activity klasse:
ich will ein AlertDialog erstellen wenn ich auf den Display klicke. (Also ohne Button) dazu hab ich OnTouchListener gemacht. aber irgendwie sehe ich meine Items nicht. also ich sehe eingelich gar nichts

ich poste die Activity klasse:
Code:
public class MapEditorActivity extends Activity implements OnTouchListener{
private GLSurfaceView mGLSurfaceView;
MapEditorRenderer editMapRenderer;
// we have a maximum of 5 pointer
private int[] coordsX = new int[5];
private int[] coordsY = new int[5];
// we have to save first touch for motion
private int[] coordsXFirst = new int[5];
private int[] coordsYFirst = new int[5];
// offsets for view
private float offX;
private float offY;
private float offZ;
Context context;
boolean zooming;
Region dialogRegion;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
// Create our Preview view and set it as the content of our
// Activity
mGLSurfaceView = new MapEditorView(this);
setContentView(mGLSurfaceView);
mGLSurfaceView.setOnTouchListener(MapEditorActivity.this);
}
private void showDialog(){
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
final String[] color = { "#F5F6F6", "#FFC0CB", "#FF0000",
"#C00000","#62492F","#DB3C00", "#98E01C" };
dialogBuilder.setTitle("pick one Color");
dialogBuilder.setItems(color, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),color[which], Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog = dialogBuilder.create();
alertDialog.show();
}
@Override
protected void onPause() {
super.onPause();
mGLSurfaceView.onPause();
}
@Override
protected void onResume() {
super.onResume();
mGLSurfaceView.onResume();
}
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
offX = editMapRenderer.getxView();
offY = editMapRenderer.getyView();
coordsXFirst[0] = (int) event.getX(0);
coordsYFirst[0] = (int) event.getY(0);
showDialog();
break;
case MotionEvent.ACTION_POINTER_DOWN:
offZ = editMapRenderer.getzView();
coordsXFirst[0] = (int) event.getX(0);
coordsYFirst[0] = (int) event.getY(0);
coordsXFirst[1] = (int) event.getX(1);
coordsYFirst[1] = (int) event.getY(1);
zooming=true;
break;
case MotionEvent.ACTION_UP:
zooming=false;
break;
default:
// track all touches
for (int i = 0; i < event.getPointerCount(); i++) {
int id = event.getPointerId(i);
// update all other pointer positions
coordsX[id] = (int) event.getX(i);
coordsY[id] = (int) event.getY(i);
}
// When only one finger
if (event.getPointerCount() == 1 && !zooming)
editMapRenderer.setPosition(offX
+ (coordsX[0] - coordsXFirst[0])*editMapRenderer.getzView()*-1 / 1000.0f, offY
+ (coordsYFirst[0] - coordsY[0])*editMapRenderer.getzView()*-1 / 1000.0f);
// When two fingers
float distanceOld = (float) FloatMath
.sqrt((coordsXFirst[1] - coordsXFirst[0])
* (coordsXFirst[1] - coordsXFirst[0])
+ (coordsYFirst[1] - coordsYFirst[0])
* (coordsYFirst[1] - coordsYFirst[0]));
float distanceNew = (float) FloatMath
.sqrt((coordsX[1] - coordsX[0])
* (coordsX[1] - coordsX[0])
+ (coordsY[1] - coordsY[0])
* (coordsY[1] - coordsY[0]));
float distanceMax = (float) FloatMath
.sqrt(getWidth()
* getWidth()
+ getHeight()
* getHeight());
if (event.getPointerCount() == 2) {
editMapRenderer.setZoom(offZ + (distanceNew
- distanceOld)/(distanceMax/10));
}
break;
}
return false;
}
private int getHeight() {
// TODO Auto-generated method stub
return 0;
}
private int getWidth() {
// TODO Auto-generated method stub
return 0;
}
}