Android Gallery Dinamicalmente cambiar la altura
-
27-10-2019 - |
Pregunta
Quiero hacer Horizontal Gallery para realizar vistas personalizadas: por ejemplo, quiero tener una variedad de productos con su descripción, precio y foto, construyo diseño personalizado y anulo GetView y adaptador.
Descripción El texto puede ser demasiado grande y solo devuelvo una pequeña porción y cargue a la vista. Hay un botón "más" para expandir esta vista. Debajo de la galería hay otra vista de diseño con algunos botones, controles, etc.
OnmoreButtonClick solo configuré el texto completo en la descripción TextView. Altura de la galería I WrapContent y creo que tiene que cambiar el tamaño dinámicamente.
Por cierto, si carga el texto completo sin uno corto, todo está bien.
Esta es la pantalla principal de la aplicación, cuando presiono el botón quiero que el elemento de la galería estire hacia abajo y tire de TimeandDatePicker hacia abajo.
Pero cuando lo presiono solo puedo ver:
Y si carga el texto completo sin uno pequeño, todo está bien:
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>
Y 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" />
Solución
Hay un "hack" en mi caso.
Puse la galería en uno más linealLayout, lo hago envuelto de forma predeterminada y gallery fitParent, cuando hago clic en el botón "más". Expando la altura de diseño (altura anterior + retrasos de los nuevos textview * sizeoftext).