我正在使用support.v7 Cardview,当我点击它们时,我制作了一个动画,因此cardview展开以显示更多信息。 这工作得非常顺利,但现在我添加了一个工具栏作为支持操作栏,现在动画是滞后的,我不明白为什么:
我用它来扩展cardview
public void expand(final View v,final View vi) {
v.measure(LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.WRAP_CONTENT);
final int targetHeight = getHeight((ListView)v);
v.getLayoutParams().height = 0;
v.setVisibility(View.VISIBLE);
Animation a = new Animation()
{
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
vi.setAlpha(1-interpolatedTime*10);
v.setAlpha(1-vi.getAlpha());
double heigt = -(targetHeight / (interpolatedTime + 1)) + targetHeight;
v.getLayoutParams().height =new Double(heigt*2).intValue();
v.requestLayout();
}
@Override
public boolean willChangeBounds() {
return true;
}
};
// 1dp/ms
a.setDuration(750);
v.startAnimation(a);
Handler h = new Handler();
h.postDelayed(new Runnable() {
@Override
public void run() {
v.getLayoutParams().height=targetHeight;
v.requestLayout();
vi.setVisibility(View.GONE);
}
},a.getDuration()+100);
}
这就是我创建工具栏的方式:
toolbar =(工具栏)findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setTitle("CocktailListe");
toolbar.setSubtitle("Deine Lieblingscocktails in einer app");
toolbar.setTitleTextColor(getResources().getColor(R.color.text_main));
toolbar.setSubtitleTextColor(getResources().getColor(R.color.text_actionbar_secondary));
toolbar.setBackgroundColor(Color.parseColor(db.getActionbarColor()));
我很困惑,不知道为什么它在使用工具栏时滞后,我希望有人可以提供帮助