Galerie Android hauteur dynamique Redimensionner
-
27-10-2019 - |
Question
Je veux faire la galerie horizontale pour effectuer des vues personnalisées: par exemple veulent avoir une gamme de produits avec sa description, prix et photo, Je construis la mise en page personnalisée et passer outre getView et adaptateur.
Texte Description peut être trop grand et je ne retourner que petite partie de celui-ci et la charge à la vue. Il y a un bouton « plus » pour développer ce point de vue. Ci-dessous la galerie il y a une autre vue de la mise en page avec quelques boutons, commandes, etc.
OnMoreButtonClick je ne mets texte intégral à la TextView description. Galerie hauteur Je wrapcontent et je pense qu'il a la taille de changement dynamique.
BTW si je charge le texte intégral sans courte -. Tout est ok
Ceci est l'écran principal de l'application, quand j'appuyez sur le bouton Je veux élément de la galerie pour étirer vers le bas et tirer vers le bas TimeAndDatePicker.
Mais quand je presse, je ne peux voir:
Et si je charge le texte intégral sans petit tout est ok:
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>
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" />
La solution
Il y a un "hack" dans mon cas.
Je mets dans la galerie une plus LinearLayout, en font WrapContent par défaut et galerie FitParent, quand je clique sur le bouton "plus" i augmentent la hauteur Mise en page (hauteur + précédentes countlines de nouveau textview * sizeoftext).