Androidでボタンを下から上にアニメーション化するためにobjectAnimatorを使用しています。今、私は以下のコードを使用しています
ObjectAnimator transAnimation = ObjectAnimator.ofFloat(button,"translationY",0,440);
transAnimation.setDuration(440);
transAnimation.start();
以下のサンプルコードも試してみました。しかし、それでも問題は存在します
ObjectAnimator transAnimation = ObjectAnimator.ofFloat(loginLayout, "translationY",0f,0.8f);
transAnimation.setDuration(480);
transAnimation.start();
大画面デバイスで問題なく動作します。しかし、小さな画面のデバイスになると、画面からはみ出してしまいます。画面サイズに関係なく、画面の上部に表示したい。パーセンテージで値を指定する必要があると思います (0% から 100% または 0 から 100%p とします)。私の質問は、Android の objectAnimator でパーセンテージで値を与える方法です。また、この objectAnimator は HoneyComb だけに導入されていることに気付きました。低バージョンで実行するための下位互換性ライブラリはありますか。これに対する解決策を見つけるために誰かが私を案内してくれますか?
また、View を拡張して、プロパティの getter と setter を に記述してみましたoffset()
。それでも画面上部まで完全には移動しません。これが私が使用したコードです。
@SuppressLint("NewApi") public float getXFraction()
{
int width = context.getWindowManager().getDefaultDisplay().getHeight();
return (width == 0) ? 0 : (getY());
}
@SuppressLint("NewApi") public void setXFraction(float xFraction) {
int width = context.getWindowManager().getDefaultDisplay().getWidth();
setY((width > 0) ? (width) : 0);
}
前もって感謝します