galleria Android altezza ridimensionamento dinamico
-
27-10-2019 - |
Domanda
Voglio fare galleria orizzontale per eseguire visualizzazioni personalizzate: ad esempio, una vogliono avere una vasta gamma di prodotti con la sua descrizione, prezzo e foto, I layout di generazione personalizzata e override GetView e l'adattatore.
Descrizione testo può essere troppo grande e io restituire solo piccola parte di esso e del carico alla vista. C'è un pulsante "più" per espandere questo punto di vista. Sotto la galleria c'è una vista un altro layout con alcuni pulsanti, controlli, ecc.
OnMoreButtonClick ho impostato solo testo completo alla descrizione TextView. Galleria di altezza Ho wrapcontent e penso che abbia a misura il cambiamento in modo dinamico.
A proposito, se passo per caricare il testo completo senza corto -. Tutto è ok
Questa è schermata principale di app, quando il pulsante premo voglio elemento galleria di allungare verso il basso e tirare verso il basso TimeAndDatePicker.
Ma quando si preme lo vedo solo:
E se carico il testo completo senza una piccola tutto è 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>
E 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" />
Soluzione
C'è un "hack" nel mio caso.
ho messo galleria in un altro LinearLayout, rendono WrapContent di default e Galleria FitParent, quando clicco "di più" pulsante i espando l'altezza Layout (altezza precedenti + Countlines della nuova TextView * sizeoftext).