Lorem Ipsum/DOL Differet Solmena

Separat existentie 2010 Unee MYT por scientie, musica, sport etc, litot Europa usa li sam Vocabular Lingues, differe solmen in li grammatica, li pronunciation. Delete this widget in Dashboard and add yours. This is just an example. Read More

Re: [gtug-bsas] Sobre Android y custom controls

lunes, 13 de enero de 2014

No entiendo "mediante código la pueda manipular en la actividad".

Para usar tu SampleView podés hacer:

setContentView(R.layout.activity_algo);

y en activity_algo.xml tener

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
 >

    <laponderosa.circulito.SampleView
        android:id="@+id/algo_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</RelativeLayout>

Y después buscar ese R.id.algo_view.


No sé si te referís a eso (y no sé si esto compila, lo puse de memoria, je).

Marina



2014/1/13 Braulio <braulito@gmail.com>
Estimados

Esta vez los molesto por una cuestión de Android y Custom Controls

la cosa es así: tengo una clase del tipo view que me dibuja el dial de un reloj [1]. Hoy por hoy logré que muestre el dial mediante este comando

setContentView(new SampleView(this,120,120,100,4));


 Bueno mi idea es que esa clase sea un custom control y que una vez que luego de yo declarlo en el layout, mediante código la pueda manipular en la actividad.

Si alguno se le ocurre como hacerlo, se lo agradeceré.

Un saludo,
Braulio


[1] ahí va la clase en cuestión

package laponderosa.circulito;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.Log;
import android.view.Display;
import android.view.View;
import android.view.WindowManager;

public final class SampleView extends View {

WindowManager wm;
Display display;
Paint p = new Paint();
int x, y, radio, pasos;

// CONSTRUCTOR
public SampleView(Context context) {
super(context);
// setFocusable(true);

}

// CONSTRUCTOR
public SampleView(Context context, int xC, int yC, int rC, int pC) {
super(context);
// setFocusable(true);

x = xC;
y = yC;
radio = rC;
pasos = pC;

}

@SuppressWarnings("deprecation")
@Override
protected void onDraw(Canvas canvas) {

float xi, yi, xf, yf;
double b, angulo;

angulo = 360 / pasos;

// canvas.drawColor(Color.CYAN);

// smooths
p.setAntiAlias(true);
p.setColor(Color.RED);
p.setStyle(Paint.Style.STROKE);
p.setStrokeWidth(4.5f);
// opacity
p.setAlpha(0x80);

canvas.rotate(180, x, y);

canvas.drawCircle(x, y, radio, p);

for (int i = 0; i < pasos; i++) {
b = Math.toRadians(i * angulo);
xi = (float) (Math.sin(b) * radio) + x;
yi = (float) (Math.cos(b) * radio) + y;
xf = (float) (Math.sin(b) * (radio - 10)) + x;
yf = (float) (Math.cos(b) * (radio - 10)) + y;
canvas.drawLine(xi, yi, xf, yf, p);
Log.i("ANGULO", String.valueOf(angulo * i));
}

// canvas.drawLine((int) display.getWidth()/2, (int)
// display.getHeight()/4, ((int) display.getHeight()/4)+78, ((int)
// display.getWidth()/4)+79, p);
}

}

--
Braulio

--
Has recibido este mensaje porque estás suscrito al grupo "GTUG Buenos Aires | Google Developers Group" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a gtug-bsas+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

--
Has recibido este mensaje porque estás suscrito al grupo "GTUG Buenos Aires | Google Developers Group" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a gtug-bsas+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

0 comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.