Ich benutze TabHost
innerhalb ScrollView
in meiner Aktivität, aber wenn ich Tab wählen, scrollt automatisch meine Ansicht vertikal zu Ende.Android TabHost Auto Scrollt vertikal in Side ScrollView auf TabChange?
Antwort
In diesem Fall Kind Ansicht Fokus immer zu verdanken, dass es nach oben gescrollt erhalten.
Um dies zu beheben, müssen Sie benutzerdefinierte ScrollView erstellen, die ScrollView erweitern. Code-Snipp wird so aussehen.
public class MyScrollView extends ScrollView {
public MyScrollView(Context context) {
super(context);
}
public MyScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void requestChildFocus(View child, View focused) {
// if (focused instanceof TabHost) // here
return;
//super.requestChildFocus(child, focused);
// here you need to return instead of **super.requestChildFocus(child, focused);**
}
und sieht xml wie diese Antwort des
<com.views.widget.MyScrollView
android:focusable="false"
android:focusableInTouchMode="false"
android:id="@+id/root_scroll_view"
android:layout_width="match_parent"
android:fillViewport="true"
android:layout_height="wrap_content">
</com.views.widget.MyScrollView >
Dank seiner Arbeit. –
Basierend auf Er Pragati Singh ich nicht requestChildFocus(View child, View focused)
aber computeScrollDeltaToGetChildRectOnScreen(Rect rect)
hat außer Kraft setzen.
Zwingende requestChildFocus
wird auch verhindern, dass die Tastatur auf dem Bildschirm zu aktivieren, wenn ein EditText berühren, die bereits den Fokus hat, während computeScrollDeltaToGetChildRectOnScreen
nur das Delta Scroll innerhalb requestChildFocus
verwendet wird zur Berechnung der Ansicht in Sicht zu bringen. Wenn diese Funktion überschrieben wird, bleiben alle anderen Routinen intakt.
Java:
public class MyScrollView extends ScrollView {
public MyScrollView(Context context) {
super(context);
}
public MyScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected int computeScrollDeltaToGetChildRectOnScreen(Rect rect) {
// This function calculates the scroll delta to bring the focused view on screen.
// -> To prevent unsolicited scrolling to the focued view we'll just return 0 here.
//
return 0;
}
}
XML:
<YOUR.PAKAGE.NAME.MyScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
</YOUR.PAKAGE.NAME.MyScrollView>
- 1. Android: ScrollView scrollt nicht
- 2. Android: Scrollview scrollt nicht mehr
- 3. Scrollview scrollt nicht in Android Unterseite
- 4. ScrollView scrollt überhaupt nicht
- 5. ScrollView scrollt nicht?
- 6. Android: ScrollView scrollt nicht mit Tastatur
- 7. ScrollView automatisch scrollt auf wählbar TextView
- 8. Scrollview scrollt nicht im Fragment
- 9. ScrollView scrollt nicht in swift
- 10. Scrollview scrollt nicht vollständig herunter
- 11. Auto-Zusammenbruch OpenUI5 Side Navigation auf mobile
- 12. Scrollview scrollt nicht vollständig in einem Fragment, Android
- 13. ScrollView scrollt nicht nach unten
- 14. Scrollview scrollt nicht in einer benutzerdefinierten Ansicht für einen Listenansicht
- 15. Android ScrollView scrollt nicht, wenn die Tastatur hoch ist
- 16. Android ScrollView scrollt automatisch zum Ende der Ansicht
- 17. Wie scrollt man die äußere scrollView nicht innerhalb scrollView?
- 18. Integrierte ScrollView, die mit Kopfbewegung scrollt
- 19. Scrollview scrollt kein Linearlayout mit layout_gravity = "bottom"
- 20. RecyclerView in einem ScrollView/NestedScrollView scrollt nicht ordnungsgemäß
- 21. Scrollview in einem Scrollview in Android-Ausgabe
- 22. Add onLongClickListener zu Registerkarte auf TabHost Android
- 23. ScrollView in ViewPager, scrollt automatisch in die Mitte
- 24. Embed ImageView in ScrollView mit Auto Layout auf iOS 6
- 25. TabHost untere Grenzlinie android
- 26. Android ScrollView Layout Problem
- 27. alphabetische scrollview in android
- 28. Android: ScrollView 'setOnScrollListener' (wie ListView)
- 29. Android ScrollView
- 30. Android ListView, die nicht scrollt?
einige Code zeigen! –