2012-01-17 30 views
10

Tôi muốn tạo hoạt ảnh cho các mục của chế độ xem danh sách. Hiện tại tôi đang áp dụng Hoạt ảnh chuyển tiếp trên các mục danh sách bất cứ khi nào các mục mới được thêm vào. Nhưng đây không phải là hoạt hình tôi muốn đạt được. Tôi muốn rằng khi một mục mới được thêm vào trong danh sách xem tại thời điểm đó toàn bộ danh sách xem di chuyển một nơi xuống để nhường chỗ cho mục mới được thêm vào.Thêm hoạt ảnh vào Chế độ xem danh sách trong Android

Hiện nay mã tôi đang sử dụng là:

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); 

Và sau đó, trong khi các mặt hàng bổ sung thông qua nút onclick

l.startLayoutAnimation(); 

Bất kỳ lời đề nghị khác để đạt được hình ảnh động như vậy.

Trả lời

14

Tôi đã nhận được Giải pháp cho vấn đề này. Tôi tạo hiệu ứng cho từng phần tử được thêm vào trong phương thức getView của Bộ điều hợp tùy chỉnh của tôi.

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; 
    } 

Và do đó đạt được hình động như tôi đã nêu.

+0

Tôi gặp lỗi tại hoạt ảnh 'R.anim.slide_top_to_bottom' không thể giải quyết được hoặc không phải là trường – Nishant

+0

Bạn đã thêm xml vào thư mục hoạt ảnh chưa? – ASH

+0

Không, bạn có thể cung cấp mã cho tập tin đó không? – Nishant

Các vấn đề liên quan