2012-01-17 3 views
10

Я хочу анимировать элементы списка. В настоящее время я применяю анимацию перехода на элементы списка при добавлении новых элементов. Но это не та анимация, которую я хочу достичь. Я хочу, чтобы при добавлении нового элемента в представление списка в это время весь вид списка перемещал место вниз, чтобы освободить место для вновь добавленного элемента.Добавление анимации в список в Android

В настоящее время код, я использую это:

set = new AnimationSet(true); 

    animation = new AlphaAnimation(0.0f, 1.0f); 
    animation.setDuration(50); 
    set.addAnimation(animation); 

    animation = 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 
    ); 
    animation.setDuration(150); 
    set.addAnimation(animation); 

    LayoutAnimationController controller = new LayoutAnimationController(set, 1.0f); 
    l.setLayoutAnimation(controller); 
    l.setAdapter(listAdaptor); 

И затем в то время как добавление элементов через кнопки OnClick

l.startLayoutAnimation(); 

Любые другие предложения, чтобы достичь такой анимации.

ответ

14

У меня есть решение этого. Я анимация каждого добавленного элемента в методе getView моего пользовательского адаптера.

public View getView(int position, View convertView, ViewGroup parent) { 

     View v = convertView; 

     if (v == null) { 
      LayoutInflater vi = (LayoutInflater) getActivity() 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      v = vi.inflate(R.layout.simple_list_item_1, null); 
     } 

     ListData o = list.get(position); 
     TextView tt = (TextView) v.findViewById(R.id.toptext); 

     tt.setText(o.content); 

     Log.d("ListTest", "Position : "+position); 
     if(flag == false) { 
     Animation animation = AnimationUtils.loadAnimation(getActivity(), R.anim.slide_top_to_bottom); 
     v.startAnimation(animation);} 
     return v; 
    } 

И таким образом достигается анимация, как я уже говорил.

+0

Я получаю сообщение об ошибке в 'R.anim.slide_top_to_bottom' анимации не может быть разрешен или не является полем – Nishant

+0

Неужели вы добавили xml в папку с анимацией? – ASH

+0

Вы не можете дать код для этого файла? – Nishant

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

  • Нет связанных вопросов^_^