アニメーションがスライドして消えてしまいますか? 誰かが私の問題を解決するのを手伝ってくれますか?
上部で私はこれを宣言しました
private RelativeLayout buttonContainer;
buttonContainer = (RelativeLayout) sidebar.getParent();
関数部分の私のコードは次のとおりです。
private RelativeLayout.LayoutParams params;
public void startTapped(View view) {
sideBar(44, 0);
}
public void sideBar(final int translateX, final int translateY)
{
TranslateAnimation translate = new TranslateAnimation(0, translateX, 0, translateY);
translate.setDuration(1500);
translate.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
buttonContainer.removeView(sidebar);
sidebar = new ImageView(Game.this);
sidebar.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
}
});
if(out == 0)
{
params.leftMargin = translateX + params.leftMargin;
params.topMargin = translateY + params.topMargin;
params.rightMargin = 0 + params.rightMargin;
params.bottomMargin = 0 + params.bottomMargin;
sidebar.setLayoutParams(params);
buttonContainer.addView(sidebar);
out=1;
}
else if(out == 1)
{
params.leftMargin = translateX - params.leftMargin;
params.topMargin = translateY - params.topMargin;
params.rightMargin = 0 - params.rightMargin;
params.bottomMargin = 0 - params.bottomMargin;
sidebar.setLayoutParams(params);
buttonContainer.addView(sidebar);
out=0;
}
}
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.sidebar:
startTapped(sidebar);
break;
}
}
本来のようにスライドして消えますが、まだタップできますが、見えないだけです。