2013-05-02 1 views
1

Возможно ли иметь структуру, как показано ниже. И есть LinearLayout что на фронте быть за кадром:FrameLayout: можно ли разместить детскую раскладку за кадром?

<FrameLayout> 

    <LinearLayout> 
    .. Back Layout 
    </LinearLayout> 

    <LinearLayout> 
    .. Front layout 
    </LinearLayout> 

</FrameLayout> 

Вот изображение. enter image description here Что я пробовал: Я пробовал настройку android: layout_marginLeft = "- 300dp" для LinearLayout A (спереди), но как только я тестирую его на своем телефоне, макет A находится внутри видимой области. Я также попытался нажать макет A с экрана с помощью TranslateAnimation, после окончания анимации. Макет находится внутри видимой области.

Пожалуйста, помогите мне решить проблему. Спасибо.

+1

попробуйте использовать scrollTo() – Blackbelt

+0

Зачем вам это нужно, а не просто скрыто? – Luksprog

+0

Я пытаюсь создать меню слайдов, но оно должно быть сверху макета B. поэтому он не будет толкать B вправо. Я все еще экспериментирую с scrollTo(). –

ответ

3

Так что, если кому-то нужно что-то подобное, как я решил это. Скользящее меню в верхней части содержимого. Структура макета, как описано в вопросе. Вот простой анимации в XML: show_menu.xml

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

<set 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false"> 
    <translate 
     android:fromXDelta="-100%" 
     android:toXDelta="0%" 
     android:duration="400"> 
    </translate> 
</set> 

hide_menu.xml:

<?xml version="1.0" encoding="utf-8"?> 
<set 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false"> 
    <translate 
     android:fromXDelta="0%" 
     android:toXDelta="-100%" 
     android:duration="400"> 
    </translate> 
</set> 

в MyActivity

//loading hide animation and setting listener. 
anim = AnimationUtils.loadAnimation(this, R.anim.hide_menu); 
    anim.setAnimationListener(new Animation.AnimationListener() { 

     @Override 
     public void onAnimationStart(Animation animation) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onAnimationRepeat(Animation animation) { 
      // TODO Auto-generated method stub 

     } 
     //on animation end setting visibility to gone 
     @Override 
     public void onAnimationEnd(Animation animation) { 
      // TODO Auto-generated method stub 
      MenuList.setVisibility(View.GONE); 
     } 
    }); 

То же самое делается для анимации для show_menu animtaion кроме него будет иметь onAnimationStart настройки visibilty на видимые. MenuList в коде - это макет из рисунка в вопросе.

Update: * Лучший способ сделать скользящую меню сегодня является использование DrawerLayout. *

Смежные вопросы