求这个Android UI成效的实现.

求这个Android UI效果的实现....
启动页面中间有一个logo,现在希望在这个启动页从下方弹出一个居于底部的登陆框,弹出的同时logo也向上移动,效果图如下:求这个Android UI成效的实现.

------解决思路----------------------
整体做成类似于scrollview,由上半部分logo和下半部分窗体连接而成,最开始只显示最上面部分(默认的),开启线程scroll

------解决思路----------------------
直接给你demo
下面是布局文件,其中的图片自己加
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/login_bg"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1" >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:background="@drawable/logo11w" />
    </RelativeLayout>

    <LinearLayout
        android:id="@+id/bottom"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical"
        android:visibility="gone"
         >

             <EditText 
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:hint="@string/app_name"
                 android:textSize="16sp"
                 />
             <EditText 
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:hint="@string/app_name"
                 android:textSize="16sp"
                 />
    </LinearLayout>

</LinearLayout>

下面是代码
package com.example.testjson;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.LinearLayout;

public class MainActivity extends Activity {

private LinearLayout bottom;
private Animation  mShowAction; 
private Handler mHandler=new Handler(){
public void handleMessage(android.os.Message msg) {
bottom.setAnimation(mShowAction);
bottom.setVisibility(View.VISIBLE);
};
};
private Runnable r = new Runnable() {

@Override
public void run() {
try {
Thread.sleep(2000);
Message msg=new Message();
mHandler.sendMessage(msg);
} catch (Exception e) {
e.printStackTrace();
}

}
};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        bottom=(LinearLayout)findViewById(R.id.bottom);
        mShowAction = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f,   
                Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF,   
                1.0f, Animation.RELATIVE_TO_SELF, 0.0f);   
        mShowAction.setDuration(500); 
       Thread t=new Thread(r);
       t.start();
    }
}