0
私はfloatingActionButtonをアニメーション化してアンドロイドのメニューを取得しようとしましたが、APIを持つデバイスでは<があります。21翻訳とAPI> = 21の翻訳は小さくなります。 私はこのコードを持って:異なるデバイスでFloatingActionButtonをアニメーション化して同じ結果を得る方法はありますか?
FloatingActionButton fab_mini = (FloatingActionButton) getActivity().findViewById(R.id.fab_3);
translate(fab_mini, 1.5f, 400);
fab_mini.setTranslationY(-fab_mini.getHeight() * 1.5f);
fab_mini.setVisibility(View.VISIBLE);
fab_mini.setClickable(true);
問題はボタンが一部のデバイスでは、他の上の1つを示している)
private void translate(View view, float factor, int time){
TranslateAnimation translate = new TranslateAnimation(0, 0, factor * view.getHeight(), 0);
translate.setDuration(time);
view.startAnimation(translate);
}
を、これだけで呼び出すメソッドの後に(翻訳(私は、Android 5.0.1で試してみました)他のデバイス(Android 4.3および4.2.2)では、ボタンの間に正しいスペース(0.5 * button.getHeight()または同じ翻訳= 1.5)が表示されます。
私は役に立たなかった。 TranslateAnimation()コンストラクタのパラメータは、ピクセル(px)または独立ピクセル(dp)のディメンションを持っていますか? View.getheight()はピクセルを返しますが、TranslateAnimationコンストラクタがアニメーションのためにpxまたはdpを必要とするかどうかはわかりません。 –