Отрицательное значение ListView и TranslateAnimation не обновляет элемент под другими

Я применяю отрицательный toXDelta в моем TranslateAnimation и это вызывает ошибку, когда я прокручиваю список, потому что есть другой список на этот ход.

Вы можете увидеть в этом скриншоте мою проблему

Вот мой XML для оранжевого списка

<LinearLayout
    android:id="@+id/ll_list_ghm"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:background="@drawable/panel_ghm"
    android:orientation="vertical"
    android:paddingLeft="30dip"
    android:paddingRight="20dip"
    android:paddingTop="40dip" >

    <ListView
        android:id="@+id/lv_list_ghm"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </ListView>
</LinearLayout>

И я применяю перевод на LinearLayout

ll_list_ghm.startAnimation(expend(500, true));
private Animation expend(int anim_ms, boolean is_ghm) {
    Animation collapse = new TranslateAnimation(400, -20, 0, 0);
    collapse.setDuration(anim_ms);
    collapse.setFillAfter(true);
    return collapse;
}

когда toXDelta равно 0 или положительному int, нет проблем. У кого-нибудь когда-нибудь была эта ошибка?

Спасибо, парень, за то, что прочитал и рассказал о проблеме ма

1 ответ

Решение

Я нахожу альтернативное решение, которое состоит в том, чтобы установить отрицательную маржу для кода.

RelativeLayout.LayoutParams lp_list_ghm = new RelativeLayout.LayoutParams(metrics.widthPixels / 4, LayoutParams.FILL_PARENT);
lp_list_ghm.addRule(RelativeLayout.RIGHT_OF, R.id.ll_list_cmd);
lp_list_ghm.setMargins(-20, 0, 0, 0);
ll_list_ghm.setLayoutParams(lp_list_ghm);

Но если у вас есть другое решение, мне интересно:)

Другие вопросы по тегам