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;
}
Большое спасибо, это работает. Хм, но setHasTransientState доступен только в api 16 и выше –
. Вместо этого используйте [ViewPropertyAnimator] (http://developer.android.com/reference/android/view/ViewPropertyAnimator.html). – mmlooloo