Bu "sorunun" yanıtı için bu girdinin alt kısmına bakın.Görünümün odaklanmasını iste ve ekranın üstüne kaydır Bir ScrollView
Uygulamamda bazı xml görünümlerini şişiriyorum ve bunları bir ScrollView içinde bir LinearLayout listesine ekliyorum. XML şöyle görünür:
<ScrollView
android:layout_width="0dp"
android:layout_weight="19"
android:layout_height="wrap_content"
android:fillViewport="true">
<LinearLayout
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</ScrollView>
Sonra ben 'listesi' haline koyduk görünümlerden biri odağı vermeye çalışıyoruz. Bir kaydırma aşağı yukarıdaki kod sonuçları, odaklanmış görünümü ekranın alt kısmında yer alırsanız
view.getParent().requestChildFocus(view, view);
ve bir kaydırma yukarı sonuçlanıyorsa, odaklanmış görünümü yerleştirilmiş olsun: Bu, bu kodu kullanarak yapılır Ekranın en üstünde.
Eğer liste uzunluğu izin veriyorsa odaklanmış görüntüyü her zaman ekranın en üstüne yerleştirmek için bir yol var mı?
Düzenleme: Bu çalışır! Kabul edilen cevaba bakınız.
scrollView.smoothScrollTo(0,view.getTop());
O yapacaktır:
view = findViewById(get_view_that_should_have_focus);
ScrollView scrollView = findViewById(R.id.scroll_list);
scrollView.smoothScrollTo(0, view.getTop());
Daha fazla ayrıntı verebilir misiniz, belki de neler olduğunu anlatabilir misiniz? – mhdjazmati