2016-05-20 18 views
2

Ich habe eine Scrollansicht in meiner Aktivität, ich möchte, wenn ich eine Taste drücke die Ansicht scrollt hinunter zu einer bestimmten ID in der Ansicht. Nach einigem Suchen hier fand ich, dass ich diesen Code verwenden kannScrollen einer ScrollView zu einer bestimmten ID

aber es scrollt die ganze Seite nach unten. Ich möchte eine bestimmte ID in der Mitte der Ansicht

Antwort

2
ScrollView scrollView = (ScrollView) findViewById(R.id.scroll_view); 
scrollView.postDelayed(new Runnable() { 
    public void run() { 
      scrollView.scrollTo(0, (int)view.getY()); 
    } 
}, 100); 

view = Ihre Ansicht, die Sie

+0

Die meiste Zeit möchten Sie postDelayed mit scrollview scroll zu Funktionen verwenden, um sicherzustellen, dass alle th Die Ansichten sind bereits hinzugefügt .. –

+0

Großartig! klappt wunderbar ! Danke :) – Bialy

+0

keine Sorgen, froh, dass es funktioniert :) –

0

blättern möchten blättern Sie diese wie unten tun können:

private void smartScrollToPosition(ListView listView, int desiredPosition) { 
    //Write your logic here. 
    listView.smoothScrollToPosition(desiredPosition); 
} 

On-Taste Handler können Sie dies wie folgt anrufen

ListView listView = (ListView) findViewById(R.id.lessonsListView); 
smartScrollToPosition(listView, 0); // scroll to top 
return true; 
Verwandte Themen