私は、ユーザがブラウザを開く代わりに画像を指すリンクを開くと、の内部にフローティングImageView
が作成され、アプリ(許可がandroid.permission.SYSTEM_ALERT_WINDOW
必要)。アプリへのリンク:Tappicがあります。Glideを使ったサービスにロードされたGIFは、最初のフレームのみを表示します
Glideを使ってアニメーション化されたGIFサポートを追加したい(他のライブラリも試したが、結果は常に同じ)が、GIFの最初のフレームだけが表示され、停止します。ここで
は私がService
内の画像をロードするコードです:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
dataString = intent.getDataString();
if (dataString != null)
Glide.with(this).load(dataString).into(tooltipImage);
return START_NOT_STICKY;
}
あなたは問題が何を示すvideo hosted in Google Driveを表示することができます。
が表示されているように、画面を移動するとが表示されます。問題は、GIFアニメーションの仕事をしているところ私にはわからない
tooltipImage.setOnTouchListener(new View.OnTouchListener() {
private int initialX;
private int initialY;
private float initialTouchX;
private float initialTouchY;
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
detector.onTouchEvent(motionEvent);
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
initialX = params.x;
initialY = params.y;
initialTouchX = motionEvent.getRawX();
initialTouchY = motionEvent.getRawY();
return true;
case MotionEvent.ACTION_MOVE:
params.x = initialX + (int) (motionEvent.getRawX() - initialTouchX);
params.y = initialY + (int) (motionEvent.getRawY() - initialTouchY);
windowManager.updateViewLayout(tooltipContainer, params);
return true;
}
return false;
}
});
:ここでは運動を扱うコード(tooltipContainer
はImageView
含むレイアウトされる)があります。
まだ同じ:/ – Grender