5 Stimmen

Beweglicher Text in Opengl Android

Wie zeigt man beweglichen Text in Android mit Open GL? Oder gibt es eine andere Möglichkeit, die Textbewegung ohne Ruck zu zeigen. Ich habe versucht, Android-Animation und Marquee, aber es war nicht reduzieren Ruck. Ich brauche Text, der sich in einer einzigen Zeile von rechts nach links bewegt, wie in den Schlagzeilen. Was sollte ich in Open GL im Renderer tun?

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    touchStart = new PointF();
    objs = new GLSurfaceView(this);
    sqobj = new  rendsquare();
    objs.setRenderer(sqobj);
    setContentView(objs);

    TextView editBox = new TextView(getApplicationContext());
    editBox.setTextColor(Color.BLUE);
    editBox.setEllipsize(TruncateAt.MARQUEE);
    editBox.setMarqueeRepeatLimit(-1);
    editBox.setHorizontallyScrolling(true);
    editBox.setFocusable(true);
    editBox.setFocusableInTouchMode(true);

    editBox.setText("Hello GL testing 123 hello hello h r u i am fine hello u there hello! hello !! !! !! !!");

    addContentView(editBox, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
}

//Andere

public class SquaropnglActivity extends Activity {

private rendsquare sqobj;
private PointF touchStart;
private GLSurfaceView objs;
Animation mAnimation = new TranslateAnimation(300f, -300f, 0.0f, 0.0f); 
/** Called when the activity is first created. */
@Override

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    touchStart = new PointF();
    objs = new GLSurfaceView(this);
    sqobj = new  rendsquare();
    objs.setRenderer(sqobj);
    setContentView(objs);

    mAnimation.setRepeatMode(1);
    mAnimation.setInterpolator(new DecelerateInterpolator());
    mAnimation.setDuration(3000L);
    mAnimation.setRepeatCount(-1);
    TextView editBox = new TextView(getApplicationContext());
    editBox.setTextColor(Color.BLUE);

    editBox.setAnimation(mAnimation);
    editBox.setTextSize(40);
    editBox.setLines(1);
    editBox.setText("Hello GL testing 123 hello hello h r u i am fine hello u there hello! hello !! !! !! !!");

    addContentView(editBox, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
}

}

1voto

Midhere Punkte 664

Wenn Sie Text-Rendering in Opengl Weise tun wollen, schreiben Sie bitte Text Zeichnung Logik in Ihrem onDrawFrame(gl) Methode und aktualisieren Sie die Textposition bei jeder Frame-Aktualisierung, um eine Marquee-Animation zu erhalten.

Für die Wiedergabe von Text schauen Sie bitte in OpenGL-Text-Rendering

Ich habe es nicht getestet. Es sollte für Sie funktionieren. Beste Wünsche.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X