Hello, I have my class below that is working. Inside it is another class that extends View and that is also running.
I need to add two buttons on this screen and then create the layout below, which has a View and two buttons: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <View android:id="@+id/View01" android:layout_width="fill_parent" android:layout_height="360px" android:scrollbarSize="100px" android:paddingBottom="-20px" android:clickable="true" android:drawingCacheQuality="auto" android:focusable="true" android:focusableInTouchMode="true" android:keepScreenOn="true" android:longClickable="true" android:visibility="visible"> </View> <Button android:layout_height="wrap_content" android:visibility="visible" android:text="Cancelar" android:layout_marginTop="10px" android:layout_width="150px" android:width="150px" android:id="@+btListaServicos/cancel"/> <Button android:layout_height="wrap_content" android:text="Compor Serviços" android:layout_marginTop="-49px" android:width="150px" android:layout_width="150px" android:layout_marginLeft="170px" android:id="@+btListaServicos/comporServicos"> </Button> </LinearLayout> How do I display the screen object in my View from the layout? In this way does not work: public class ServiceComposition extends Activity { private DViewDbAdapter dbAdapter; private WsServicos Servico; private WsMetodos Metodo; private Parametros Parametro; private Parametros Returns; Map<Integer, WsServicos> mServices; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); *setContentView(R.layout.service_composition);* dbAdapter = new DViewDbAdapter(this); dbAdapter.open(); long idComposition = getIntent().getLongExtra("idComposition", 3); this.mServices = populaDados(idComposition); *View view = findViewById(R.id.View01);* *view = new ExibeView(this, mServices);* //setContentView(new ExibeView(this, mServices)); } public class ExibeView extends View { private ImagemObjeto[] imagem; private int balID = 0; // variable to know what ball is being dragged private boolean moveu = false; private int distHorz = 60; private int distVert = 60; Map<Integer, Point> mPoint = new HashMap<Integer, Point>(); Point point; /* * Point point0 = new Point(); Point point1 = new Point(); Point point2 * = new Point(); Point point3 = new Point(); Point point4 = new * Point(); */ public ExibeView(Context context, Map<Integer, WsServicos> mServices) { super(context); // TODO Auto-generated constructor stub setFocusable(true); // necessary for getting the touch events int QtdServices = mServices.size(); this.imagem = new ImagemObjeto[QtdServices]; for (int i = 0; i < QtdServices; i++) { point = new Point(); point.x = distHorz; point.y = distVert; if (distHorz >= 180) { distHorz = 0; distVert += 60; } distHorz += 60; mPoint.put(i, point); } for (int i = 0; i < QtdServices; i++) { imagem[i] = new ImagemObjeto(context, R.drawable.quadrado, mPoint.get(i)); } } // the method that draws the balls @Override protected void onDraw(Canvas canvas) { // canvas.drawColor(0xFFCCCCCC); //if you want another background // color Paint paint = new Paint(); paint.setColor(-16776961); // draw the balls on the canvas for (ImagemObjeto img : imagem) { canvas.drawBitmap(img.getBitmap(), img.getX(), img.getY(),null); } // calculaTraco(canvas, point0, point1, imagem[0]); } // events when touching the screen public boolean onTouchEvent(MotionEvent event) { int eventaction = event.getAction(); int X = (int) event.getX(); int Y = (int) event.getY(); boolean move = false; switch (eventaction) { case MotionEvent.ACTION_DOWN: // touch down so check if the finger // is on a ball balID = 0; for (ImagemObjeto img : imagem) { // check if inside the bounds of the ball (circle) // get the center for the ball int centerX = img.getX() + 25; int centerY = img.getY() + 25; // calculate the radius from the touch to the center of the // ball double radCircle = Math .sqrt((double) (((centerX - X) * (centerX - X)) + (centerY - Y) * (centerY - Y))); // if the radius is smaller then 23 (radius of a ball is // 22), then it must be on the ball if (radCircle < 23) { balID = img.getID(); moveu = false; break; } // check all the bounds of the ball (square) // if (X > ball.getX() && X < ball.getX()+50 && Y > // ball.getY() && Y < ball.getY()+50){ // balID = ball.getID(); // break; // } } break; case MotionEvent.ACTION_MOVE: // touch drag with the ball // move the balls the same as the finger if (balID > 0) { imagem[balID - 1].setX(X - 25); imagem[balID - 1].setY(Y - 25); moveu = true; } break; case MotionEvent.ACTION_UP: // touch drop - just do things here after dropping //seleciona(moveu, imagem[balID - 1]); if (!moveu){ DView dv = new DView(); dv.showAlertCustom(ServiceComposition.this); } break; } // redraw the canvas invalidate(); return true; } Can help me? Thanks! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Beginners" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en -~----------~----~----~----~------~----~------~--~---

