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
-~----------~----~----~----~------~----~------~--~---

Reply via email to