Android Gallery dynamisch Größe der Größe Größe
-
27-10-2019 - |
Frage
Ich möchte eine horizontale Galerie erstellen, um benutzerdefinierte Ansichten auszuführen: Zum Beispiel möchte ich eine Reihe von Produkten mit der Beschreibung, dem Preis und dem Foto erstellen, baue benutzerdefinierte Layout und überschreibe GetView und Adapter.
Beschreibungstext kann zu groß sein und ich kehre nur einen kleinen Teil davon zurück und lade zur Ansicht. Es gibt eine Schaltfläche "mehr", um diese Ansicht zu erweitern. Unterhalb der Galerie befindet sich eine weitere Layoutansicht mit einigen Schaltflächen, Steuerelementen usw.
OnmorebuttonClick Ich habe nur Volltext auf die Beschreibung TextView festgelegt. Galeriehöhe Ich wickle und ich denke, es muss die Größe dynamisch ändern.
Übrigens, wenn ich den vollständigen Text ohne kurze lade - alles ist in Ordnung.
Dies ist der Hauptbildschirm der App. Wenn ich die Taste drücke, möchte ich, dass das Galerie -Element nach unten streckt und TimeandDatePicker nach unten zieht.
Aber wenn ich es drücke, kann ich nur sehen:
Und wenn ich den vollen Text ohne kleine lade, ist alles in Ordnung:
Main.xml:
<?xml version="1.0" encoding="utf-8"?>
android:layout_width="fill_parent"
android:id = "@+id/scene"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/main_background" >
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ru.human.samples.CustomGallery
android:id="@+id/galleryUnique"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:spacing="1dp" android:unselectedAlpha="255.0" android:visibility="visible" android:fadingEdge="none"/>
<DatePicker
android:id="@+id/datePicker1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>
Und GalleryItem XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
style="@style/PriceText"
android:text="Medium Text"/>
</LinearLayout>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
style="@style/BodyText"
android:text="TextView" />
<TextView
android:id="@+id/description"
android:layout_width="match_parent"
style="@style/BodyText"
android:text="Medium Text"
android:layout_height="wrap_content" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
Lösung
In meinem Fall gibt es einen "Hack".
Ich habe Galerie in einem weiteren Linearlayout gestellt und standardmäßig ein Wickel- und Galerie -FitParent gestaltet. Wenn ich auf die Schaltfläche "More" klicke, erweitere ich die Layouthöhe (vorherige Höhe + Countlines of New TextView * sizeofText).