Android, tipografía no copiada en pintura nueva

En el siguiente código:

Paint tPaint = new Paint(aPaint);
tPaint.setTypeface(typeFace);
aPaint =  new Paint(tPaint);

typeFace se observa establecido en tPaint pero, typeFace no se copia en aPaint.

preguntado el 28 de agosto de 12 a las 09:08

¿Más código e información sobre Android por favor porque funciona para mí? -

Realmente no hay mucho más código para mostrar. Las variables typeFace y aPaint se han configurado previamente. -

2 Respuestas

Ok, así es como se ve mi código. A ver si puedes encontrar algo.

MainView.java

public class MainView extends View {
Context context;

public MainView(Context context) {
    super(context);
    this.context = context;
}

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    Paint apaint = new Paint();
    apaint.setTextSize(100);
    apaint.setTypeface(Typeface.createFromAsset(context.getAssets(), "fonts/sketchblock.ttf"));

    canvas.drawText("Dusean", canvas.getWidth()/2, canvas.getHeight()/2, apaint);
    Paint tpaint = new Paint(apaint);

    canvas.drawText("Dusean", canvas.getWidth()/3, canvas.getHeight()/3, tpaint);
}
}

MainActivity.java

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(new MainView(this));
}
}

y fuente en la carpeta Activos recursos/fuentes/fuente.ttf

Respondido 28 ago 12, 10:08

No puedo ver ninguna diferencia significativa, excepto que mi código no funciona. - xarf

Esto no es exactamente una respuesta, sino una solución alternativa.

Reemplacé el: aPaint = new Paint(tPaint); con: unaPintura = nuevaPintura(tPintura); y creó el método:

  public Paint newPaint(Paint fromPaint){
      Typeface tf = fromPaint.getTypeface();
      Paint rPaint = new Paint(fromPaint);
      rPaint.setTypeface(tf);
      return rPaint;
  }

Esto funciona.

Respondido 28 ago 12, 11:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.