5 Stimmen

Android: Scrollbare Tabs

Ich arbeite derzeit an meiner ersten Android-Anwendung. Ich verwende ein Registerkarten-Layout für meine Anwendung. Ich habe die Anleitung dazu im Dev Guide befolgt und bin auf ein Problem gestoßen. Das Tutorial verwendet nur drei Registerkarten, aber ich habe einen Bedarf für mehr. Daher ändern die Registerkarten ihre Größe und werden unübersichtlich. Ich hatte gehofft, jemand könnte mir sagen, wie ich sie scrollen lassen kann, wie im Delphin-Browser, wenn ich mehrere Tabs verwende. Vielen Dank!

~aaron

12voto

Gonan Punkte 580

Verwenden Sie, was Yoel sagte, fügen Sie einfach hinzu: android:fillViewport="true und android:scrollbars="none"

zu HorizontalScrollView wie folgt:

    <HorizontalScrollView 
       android:id="@+id/horizontalScrollView1" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content"
       android:fillViewport="true"
       android:scrollbars="none" >

       <TabWidget
           android:id="@android:id/tabs"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content" />

    </HorizontalScrollView>

3voto

Yoel Gluschnaider Punkte 1685

Ich würde empfehlen, das TabWidget mit HotizontalScrollView stattdessen zu wickeln. auf diese Weise können Sie noch die Registerkarten verwenden, wie sie sind.

    <HorizontalScrollView 
        android:id="@+id/horizontalScrollView1" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        >

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            />
    </HorizontalScrollView>

Es ist wichtig zu beachten, dass, wenn Sie weniger Registerkarten verwenden, dies dazu führt, dass die Registerkarten nicht die gesamte Breite des Bildschirms ausfüllen. Ich bin derzeit auf der Suche nach einer Lösung für dieses Problem.

1voto

mtmurdock Punkte 12335

In diesem Fall sollten Sie wahrscheinlich keine Tabulatoren verwenden. Stattdessen können Sie alle Ihre "Registerkarten" in einem horizontalen linearen Layout am oberen Rand des Bildschirms in einem ScrollView wie folgt verpackt setzen

<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content" android:layout_width="fill_parent">
    <LinearLayout 
        android:orientation="horizontal" android:layout_height="wrap_content"
        android:layout_width="fill_parent">

        ...buttons go here...

    </LinearLayout>
</HorizontalScrollView>

Ich denke, dass Sie damit das gewünschte Ergebnis erzielen werden, aber lassen Sie es mich wissen

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