Спробуйте скористатися класом TranslateAnimation , який створює анімацію для зміни позиції. Спробуйте прочитати це для довідки - http://developer.android.com/reference/android/view/animation/TranslateAnimation.html
Оновлення: Ось приклад для цього. Якщо у вас висота вашого перегляду 50, а в режимі приховування ви хочете показати лише 10 пікселів. Зразок коду буде -
TranslateAnimation anim=new TranslateAnimation(0,0,-40,0);
anim.setFillAfter(true);
view.setAnimation(anim);
PS: Є багато або інші методи, які допоможуть вам використовувати анімацію відповідно до ваших потреб. Також подивіться на RelativeLayout.LayoutParams, якщо ви хочете повністю налаштувати код, однак використання TranslateAnimation простіше у використанні.
РЕДАГУВАТИ: - Складна версія за допомогою LayoutParams
RelativeLayout relParam=new RelativeLayout.LayoutParam(RelativeLayout.LayoutParam.FILL_PARENT,RelativeLayout.LayoutParam.WRAP_CONTENT); //you can give hard coded width and height here in (width,height) format.
relParam.topMargin=-50; //any number that work.Set it to 0, when you want to show it.
view.setLayoutParams(relparam);
У цьому прикладі коду передбачається, що ви розміщуєте свій погляд у RelativeLayout, якщо не змінюєте назву Layout, однак інший макет може не працювати. Якщо ви хочете надати на них ефект анімації, повільно зменшуйте або збільшуйте верхнє поле. Ви також можете розглянути можливість використання Thread.sleep ().