907 Stimmen

TextView unter Android scrollbar machen

Ich zeige Text in einer TextView an, der zu lang zu sein scheint, um in einen Bildschirm zu passen. in einen Bildschirm zu passen. Ich muss meine TextView scrollbar machen. Wie kann ich das das?

Hier ist der Code:

final TextView tv = new TextView(this);
tv.setBackgroundResource(R.drawable.splash);
tv.setTypeface(face);
tv.setTextSize(18);
tv.setTextColor(R.color.BROWN);
tv.setGravity(Gravity.CENTER_VERTICAL| Gravity.CENTER_HORIZONTAL);
tv.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View v, MotionEvent e) {
        Random r = new Random();
        int i = r.nextInt(101);
        if (e.getAction() == e.ACTION_DOWN) {
            tv.setText(tips[i]);
            tv.setBackgroundResource(R.drawable.inner);
        }
        return true;
    }
});
setContentView(tv);

6voto

android.weasel Punkte 3095

Ich fand nicht, dass TextView Scrolling die 'fling'-Geste unterstützt, bei der der Bildlauf nach einem Schnippen nach oben oder unten fortgesetzt wird. Am Ende habe ich das selbst implementiert, weil ich aus verschiedenen Gründen keine ScrollView verwenden wollte, und es schien keine MovementMethod zu geben, mit der ich sowohl Text auswählen als auch auf Links klicken konnte.

6 Stimmen

Wie haben Sie also die Geste des Schleuderns hinzugefügt?

5voto

Rahul Baradia Punkte 11731

Wenn Sie mit scrollable fertig sind, fügen Sie diese Zeile in die letzte Zeile der Ansicht ein, wenn Sie etwas in die Ansicht eingeben:

((ScrollView) findViewById(R.id.TableScroller)).fullScroll(View.FOCUS_DOWN);

0 Stimmen

Kumpel, tablescroller ist eine Ansicht, die durch das Attribut id von der XML identifiziert wurde, die in verarbeitet wurde. u versuchen Sie es einfach.. es wird gut funktionieren.. seine Arbeiten fr mich.

5voto

Exutic Punkte 91
yourtextView.setMovementMethod(new ScrollingMovementMethod());

können Sie es jetzt durchblättern.

1 Stimmen

Das ist es, was die akzeptierte Antwort sagt bereits. Aus der Rezension .

4voto

Ritesh Punkte 105

Fügen Sie dies zu Ihrem XML-Layout hinzu:

android:ellipsize="marquee"
android:focusable="false"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="To Make An textView Scrollable Inside The TextView Using Marquee"

Und im Code müssen Sie die folgenden Zeilen schreiben:

textview.setSelected(true);
textView.setMovementMethod(new ScrollingMovementMethod());

3 Stimmen

Das kinetische Scrollen ist nicht möglich. Verwenden Sie es nicht.

0 Stimmen

Ich möchte den Text am Ende nicht ellipsenförmig machen. Wie mache ich das?

0 Stimmen

@SagarNayak use Android:ellipsize="none"

4voto

Justin Buser Punkte 2795

Wenn Sie die EditText-Lösung nicht verwenden möchten, haben Sie vielleicht mehr Glück mit:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.yourLayout);
    (TextView)findViewById(R.id.yourTextViewId).setMovementMethod(ArrowKeyMovementMethod.getInstance());
}

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