Hi,

I am trying to mimic the view of IPhone Safari. And also, if you have
looked at the TweetDeck Application in IPhone.

It is quite similar to Anrdoid Browser, since it has minimized window.

What I have been able to do is minimize the view using Animation as
below :

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android";
android:shareInterpolator="false">

        <scale
                android:interpolator="@android:anim/
accelerate_decelerate_interpolator"
                android:fromXScale="1.0"
                android:toXScale="0.8"
                android:fromYScale="1.0"
                android:toYScale="0.6"
                android:pivotX="50%"
                android:pivotY="50%"
                android:fillAfter="false"
                android:keepScreenOn = "true"
                android:duration = "500"
        />

</set>

The source code for the Activity goes like this :

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.LinearLayout;

public class ShrinkAnimation extends Activity
{
        private Button btnShrink = null;
        private LinearLayout ll = null;
        private Animation shrinkAnimation = null;
        private Bitmap shrunkview = null;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        shrinkAnimation =
AnimationUtils.loadAnimation(ShrinkAnimation.this,R.anim.shrink);
        btnShrink = (Button) findViewById(R.id.btnShrink);
        ll = (LinearLayout) findViewById(R.id.mainLayout);


        btnShrink.setOnClickListener(new View.OnClickListener()
        {
                        @Override
                        public void onClick(View v)
                        {
                                ll.startAnimation(shrinkAnimation);
                        }

                });
    }
}

And the layout is like this :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/
android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

        <Button
                android:id = "@+id/btnShrink"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Shrink"
    />

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/
android"
                android:id="@+id/mainLayout"
                android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:baselineAligned="true"
                android:background="#FFFFFF" >

                <LinearLayout xmlns:android="http://schemas.android.com/apk/res/
android"
                        android:orientation="horizontal"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dip"
                        android:layout_marginRight="5dip"
                        android:layout_marginTop="25dip"
                        android:layout_width="wrap_content"
                        android:layout_gravity="center" >

                        <TextView android:text="Name : "
                        android:id="@+id/NameLable"
                        android:layout_height="wrap_content"
                        android:layout_width="wrap_content"
                        android:minWidth="70dip"/>

                        <EditText android:text=" "
                        android:id="@+id/name"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:maxWidth="400dip"
                        android:gravity="top"
                        android:minWidth="230dip"></EditText>


                </LinearLayout>

                <LinearLayout xmlns:android="http://schemas.android.com/apk/res/
android"
                        android:orientation="horizontal"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dip"
                        android:layout_marginRight="5dip"
                        android:layout_gravity="center"
                        android:layout_width="wrap_content">

                        <TextView android:text="Location : "
                        android:id="@+id/locationLabel"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:minWidth="70dip"/>

                        <EditText android:text=" "
                        android:id="@+id/location"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:maxWidth="400dip"
                        android:gravity="top"
                        android:minWidth="230dip"></EditText>

                </LinearLayout>

                <LinearLayout xmlns:android="http://schemas.android.com/apk/res/
android"
                        android:orientation="horizontal"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dip"
                        android:layout_marginRight="5dip"
                        android:layout_width="wrap_content"
                        android:layout_gravity="center">

                        <TextView android:text="Initial : "
                        android:id="@+id/initialLabel"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:minWidth="70dip"/>

                        <EditText android:text=" "
                        android:id="@+id/initial"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:maxWidth="400dip"
                        android:gravity="top"
                        android:minWidth="230dip"></EditText>

                </LinearLayout>

                <LinearLayout xmlns:android="http://schemas.android.com/apk/res/
android"
                        android:orientation="horizontal"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dip"
                        android:layout_marginRight="5dip"
                        android:layout_marginTop="25dip"
                        android:layout_width="wrap_content"
                        android:layout_gravity="center">

                        <Button
                        android:text="Search"
                        android:id="@+id/search"
                        android:layout_height="wrap_content"
                        android:gravity="center_horizontal|center"
                        android:layout_width="150dip"></Button>

                </LinearLayout>

        </LinearLayout>

</LinearLayout>

This minimizes the view as I want, but the duration should be
infinite. Is having animated view for indefinite period actually
possible? Moreover, can I get the click event on that view then.

What I want goes here :

There will be initially one view quite similar to what I have shown
here. When Shrink button is clicked that view should get minimized
similar to the way Browser windows get minimized. And these views
should be scrollable similar to Gallery.

In short, I want to replicate the behavior of IPhone Safari and
TweetDeck into my application.

I hope now I am able to explain what I want.


Regards
Sunil

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to