Android画廊动态调整高度

时间:2012-02-17 12:19:03

标签: android android-layout scrollview android-gallery galleryview

我想制作水平图库来执行自定义视图: 例如,想要拥有一系列带有'描述,价格和照片, 我构建自定义布局并覆盖getView和适配器。

说明文字可能太大,我只返回它的一小部分并加载到视图中。有一个按钮"更多"扩展这个观点。在图库下方有另一个布局视图,其中包含一些按钮,控件等。

OnMoreButtonClick我只将全文设置为描述TextView。画廊高度我包装内容,我认为它必须动态改变大小。

顺便说一句,如果我加载全文没有短文 - 一切都好。

这是app的主屏幕,当我按下按钮时我想要画廊项目向下拉伸并拉下TimeAndDatePicker。

Gallery with items and a button (like "more" button)

但是当我按下它时,我只能看到:

But when I press it I can only see:

如果我加载完整的文本没有小的一切都可以:

And if I load the full text without small one everything is 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" />

1 个答案:

答案 0 :(得分:0)

我的案子中有一个“黑客”。

我将图库放在另一个LinearLayout中,默认情况下将其设为WrapContent,并使Gallery FitParent, 当我点击“更多”按钮时,我展开布局高度(新文本视图的前一个高度+计数行* sizeoftext)。