i checked that in Android 2.2.2 (motorola Droid) it works perfect, but
if i test it on versions from 1.5 to 2.1, then it works bad, the
cameraview overlapps the other views...

i checked also that if i invert the position of the views on the
contentview of my app (first the GLSurfaceView, after the camera and
finally the buttons), then works on android 1.5 to 2.1... but then
doesn't works on android 2.2.2 and upper versions!!! i'm going crazy
with this...

On 5 oct, 09:34, saex <elpablos...@gmail.com> wrote:
> I have an augmented reality app that shows the the camera view and a
> GLSurfaceView with a polygon that can be rotated touching the screen.
> The main layout of my app is a FrameLayout. The frameLayout contains
> the cameraView and the GLSurfaceView. My app also have two buttons on
> the screen (zoom in/out) on a RelativeLayout overlaying the
> cameraView.
>
> The problem is that the cameraview is overlapping the other two views
> (the zoom buttons, and the GLSurfaceView with the polygon), i only can
> see the cameraView on the screen. If i remove the cameraview from the
> main FrameLayout of my app then i can see the GLSurfaceView and the
> zoom buttons without problems.
>
> How can i solve this? i need that the GLSurfaceView overlays the
> cameraView and the RelativeLayout with the zoom buttons overlays the
> GLSurfaceView...
>
> THis is the code:
>
> public class ARLambo3DSample extends Activity {
>         private CustomCameraView cv=null;
>         private ImageView minus;
>         private ImageView plus;
>         private MySurfaceView mySurfaceView;
>         private boolean pressed=false; //algún boton de zoom pulsado
>         private boolean zoomIn=false; //si zoomIn=true entonces hace zoomIn y
> si es false hace zoomOut
>         private myThread t1; //Hilo que gestiona el zoomIn y el zoomOut
>
>         public void onCreate(Bundle savedInstanceState)
>         {
>                 super.onCreate(savedInstanceState);
>                 FrameLayout fl = new 
> FrameLayout(this.getApplicationContext());
>                 cv = new CustomCameraView(this.getApplicationContext());
>                 RelativeLayout rl= new 
> RelativeLayout(this.getApplicationContext());
>
>                 //turn off the window's title bar
>                 requestWindowFeature(Window.FEATURE_NO_TITLE);
>                 //fullscreen
>
> this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
> WindowManager.LayoutParams.FLAG_FULLSCREEN);
>
>                 fl.addView(cv);
>
>                 minus= new ImageView(getApplicationContext());
>                 minus.setImageResource(R.drawable.minus2);
>                 rl.addView(minus);
>
>                 plus= new ImageView(getApplicationContext());
>                 plus.setImageResource(R.drawable.plus2);
>                 rl.addView(plus);
>
>                 Display display = ((WindowManager)
> getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
>                 int w = display.getWidth();
>                 int h = display.getHeight();
>                 RelativeLayout.LayoutParams minusPosition = new
> RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
> LayoutParams.WRAP_CONTENT);
>                 RelativeLayout.LayoutParams plusPosition = new
> RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
> LayoutParams.WRAP_CONTENT);
>
>                 minusPosition.leftMargin = (int)(w*0.77);
>                 minusPosition.topMargin  = (int)(h*0.80);  //0.66 si no es
> fullscreen
>                 minus.setLayoutParams(minusPosition);
>
>                 plusPosition.leftMargin = (int)(w*0.88);
>                 plusPosition.topMargin  = (int)(h*0.80);
>                 plus.setLayoutParams(plusPosition);
>
>                 mySurfaceView = new MySurfaceView(this);
>
>                 setContentView(fl);
>
>                 plus.setClickable(true); //esto es necesario para poder 
> gestionar
> cuando el boton se presiona y se suelta
>                 minus.setClickable(true); //esto es necesario para poder 
> gestionar
> cuando el boton se presiona y se suelta
>
>                 minus.setOnTouchListener(new OnTouchListener() {
>                         public boolean onTouch(View v, MotionEvent event)
>                         {
>                                 switch(event.getAction())
>                                 {
>                                         case MotionEvent.ACTION_DOWN: //boton 
> presionado
>                                                 zoomIn=false;
>                                                 pressed=true;
>                                                 break;
>                                         case MotionEvent.ACTION_UP: //boton 
> se suelta
>                                                 pressed=false;
>                                                 break;
>                                 }
>                                 return false;
>                         }
>                 });
>                 plus.setOnTouchListener(new OnTouchListener() {
>                         public boolean onTouch(View v, MotionEvent event)
>                         {
>                                 switch(event.getAction())
>                                 {
>                                         case MotionEvent.ACTION_DOWN: //boton 
> presionado
>                                                 zoomIn=true;
>                                                 pressed=true;
>                                                 break;
>                                         case MotionEvent.ACTION_UP: //boton 
> se suelta
>                                                 pressed=false;
>                                                 break;
>                                 }
>                                 return false;
>                         }
>                 });
>
>                 t1= new myThread();
>                 t1.start();
>
>                 fl.addView(mySurfaceView);
>                 fl.addView(rl);
>
>         }
>         protected void onResume() {
>                 super.onResume();
>                 mySurfaceView.onResume();
>         }
>         protected void onPause() {
>                 super.onPause();
>                 mySurfaceView.onPause();
>         }
>
>
>
>
>
>
>
> }

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to