2010-11-20 15 views
1

Ich habe ein lineares Layout A mit einem Bild- und Scrollview. Der Scrollview enthält ein zweites lineares Layout. B Die Idee ist, einen festen Header zu haben, während das lineare Layout B mehrere Ansichten enthält, die genau der Höhe des Scrollview entsprechen. Sehen Sie es als Tab-Ansicht an, in der sich alle Tabs in einer Scroll-Ansicht befinden.ScrollView height 0, auch wenn fill_parent

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout android:id="@+id/main_view" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#000000" 
    android:orientation="vertical"> 

<ImageView android:id="@+id/logoImg" 
    android:layout_width="fill_parent" 
    android:gravity="center" 
    android:src="@drawable/logo" 
    android:layout_height="wrap_content"/> 

<ScrollView 
    android:id="@+id/scrollView" 
    android:layout_weight="1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

<LinearLayout android:id="@+id/scrollLinear" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 
</ScrollView> 
</LinearLayout> 

Ich hat versucht, diese getHeight durch den Aufruf auf der Scroll zu erreichen, und dann diese Höhe in dem Linearlayout B zu jeder Ansicht gesetzt, aber getHeight gibt immer 0 zurück jemand eine Idee, was der einfachste Weg, dies zu erreichen?

+0

Es tut mir leid, aber ich verstehe es nicht ... Sie wollen das Äquivalent einer vertikalen TabView? Warum benutzt du dann einen Scrollview? – Sephy

+0

Nun, ich möchte eine animierte Tabview. Wenn Sie auf eine Registerkarte klicken, wird die richtige Registerkarte angezeigt, indem Sie die Bildlaufleiste an die richtige Position scrollen. Ich denke, das sieht gut aus. Ich weiß, dass ich eine tabview verwenden kann, um den gleichen funktionalen Effekt zu erzielen, aber nicht den gleichen visuellen Effekt. – Tin

Antwort

1

Nun, die Frage ist sehr alt, aber ich werde es versuchen :) Wäre es nicht Mangel an "fillViewport" in ScrollView?

<ScrollView 
    android:id="@+id/scrollView" 
    android:layout_weight="1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 

    android:fillViewport="true" 

    >