如何在ScrollView中逐渐显示图像?

时间:2012-07-13 06:43:26

标签: android xml android-imageview android-scrollview

是否有任何进程可以在运行时逐步增加ScrollView的高度。我的目的是逐步显示ScrollView内的图像。所以我想增加ScrollView的高度。有办法做我的工作吗?请帮帮我。我的XmlFile的内容是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/rootLayout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="wrap_content"
        android:layout_height="80dp"
        android:scrollbars="none"
        android:layout_x="0dp"
        android:layout_y="0dp"
        android:fillViewport="true" >

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >


    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="0dp"
        android:layout_y="0dp"
        android:src="@drawable/background" />
        </LinearLayout>

    </ScrollView>

    </LinearLayout>

我的代码是:

final Timer timer = new Timer();
    timer.scheduleAtFixedRate(new TimerTask() {
        public void run() {
          runOnUiThread(new Runnable()
            {
                public void run() {

                    secondCounter++;
                    yourNewHeight += 10;
                    // sv is object of scroll view
                    sv.getLayoutParams().height = yourNewHeight;

                    root.invalidate(); // root is rootview


                    if(secondCounter == 20){
                        timer.cancel();
                    }
                }
            });
        }
    }, delay, period);

这是我的屏幕截图:

enter image description here

模糊图像在Scrollview中,随着ScrollView的高度增加,模糊图像逐渐显示。

2 个答案:

答案 0 :(得分:0)

我已编辑了您的代码..

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rootLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="80dp">

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width=" fill_parent"
        android:layout_height="wrap_content" >


<ImageView
    android:id="@+id/imageView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:src="@drawable/background" />
    </LinearLayout>

</ScrollView>

让我知道这件事与否......好吧..

答案 1 :(得分:0)

您可以使用setLayoutParams(..)以编程方式设置宽度和高度。查看 mao 给出here和解决方案的问题。