2014-12-22 10 views
0

Я использую пользовательское listview для отображения списка элементов, каждый элемент является экземпляром моего объекта с помощью кнопки на нем. Я установил ValueAnimator для кнопки элемента, имеющего атрибут isAnim = true. Это нормально, но когда я просматриваю список вниз, некоторые элементы с 'isAnim = false' также оживляют. Вот мой код анимации:Кнопка Animation custom ListView issue

protected void blinkblinkImage(Button bt) { 

    ValueAnimator colorAnim = ObjectAnimator.ofInt(bt, "textColor", activity.getResources().getColor(R.color.white), 
                activity.getResources().getColor(R.color.cam), 
                activity.getResources().getColor(R.color.blue1), 
                activity.getResources().getColor(R.color.red), 
                activity.getResources().getColor(R.color.yellow)); 
    colorAnim.setDuration(300); 
    colorAnim.setEvaluator(new ArgbEvaluator()); 
    colorAnim.setRepeatCount(ValueAnimator.INFINITE); 
    colorAnim.setRepeatMode(ValueAnimator.REVERSE); 
    colorAnim.start(); 

} 

А вот установить анимацию для элемента

@Override 
public View getView(final int position, View convertView, ViewGroup parent) { 
    View view = convertView; 

    if(convertView == null) 
     view = inflater.inflate(R.layout.item_xe, null); 
    final Button btTT = (Button) view.findViewById(R.id.bt_tt); 

    final HashMap<String, String> itemxe = data.get(position); 

    final Boolean isAnim = itemxe.get(Login_Activity.TAG_ANIM); 


    if(isAnim) 
     blinkblinkImage(btTT); 


    return view; 
} 

ответ

0

Try ниже код:

+0

Большое спасибо, это работает. Хм, но setHasTransientState доступен только в api 16 и выше –

+0

. Вместо этого используйте [ViewPropertyAnimator] (http://developer.android.com/reference/android/view/ViewPropertyAnimator.html). – mmlooloo