diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java index 39a6088..237a6e2 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java @@ -59,7 +59,7 @@ } }); - //5秒スキップ + //2秒スキップ buttonSkip = findViewById(R.id.button_skip); buttonSkip.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { @@ -67,7 +67,7 @@ } }); - //5秒巻き戻し + //2秒巻き戻し buttonBack = findViewById(R.id.button_back); buttonBack.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationCanvas.java b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationCanvas.java index d3ba066..cd6e9bf 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationCanvas.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationCanvas.java @@ -1,15 +1,26 @@ package org.ntlab.acanthus_client.views.animation; +import android.app.Activity; import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Paint; +import android.graphics.Point; import android.os.Handler; import android.os.Looper; import android.util.AttributeSet; +import android.view.Display; import android.view.View; +import android.view.WindowManager; +import android.widget.ImageView; +import android.widget.LinearLayout; import org.ntlab.acanthus_client.Acanthus; +import org.ntlab.acanthus_client.R; +import java.sql.Array; +import java.util.ArrayList; import java.util.Timer; import java.util.TimerTask; @@ -22,24 +33,49 @@ private Timer timer; private CountUpTimerTask timerTask; private Handler handler = new Handler(Looper.getMainLooper()); - private int msec = 100; + private int msec = 1000; //ページ指定用の変数 private int pageNo = 0; + private ArrayList bmp = new ArrayList<>(); + private ArrayList tmp = new ArrayList<>(); + + private ImageView imageView; public AnimationCanvas(Context context, AttributeSet attrs) { super(context, attrs); + + //画像を読み込む + tmp.add(BitmapFactory.decodeResource(getResources(), R.drawable.sample1)); + tmp.add(BitmapFactory.decodeResource(getResources(), R.drawable.sample2)); + tmp.add(BitmapFactory.decodeResource(getResources(), R.drawable.sample3)); + tmp.add(BitmapFactory.decodeResource(getResources(), R.drawable.sample4)); + tmp.add(BitmapFactory.decodeResource(getResources(), R.drawable.sample5)); + + //画像サイズを画面サイズにセット + WindowManager wm =(WindowManager)context.getSystemService(Context.WINDOW_SERVICE) ; + Display display = wm.getDefaultDisplay(); + Point size = new Point(); + display.getSize(size); + setSize(size.x, size.y); + + } + + //画像サイズの変更 + private void setSize(int width, int height){ + for(int i = 0; i < tmp.size(); i++) { + bmp.add(Bitmap.createScaledBitmap(tmp.get(i), width, height, false)); + } } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); - //ダミーです。 - //100msごとに1pxずつ2つ目の四角が下に降りる - canvas.drawRect(100, 100, 200, 300, paint); - canvas.drawRect(500, 100 + this.pageNo, 600, 300 + this.pageNo, paint); + //画面遷移 + canvas.drawBitmap(bmp.get(pageNo),0,0, paint); + } @@ -68,7 +104,14 @@ public void run(){ handler.post(new Runnable(){ public void run(){ - pageNo++; + //ループする + pageNo = (pageNo + 1) % bmp.size(); + + //ループさせない + /* + if(timer != null) onClickPlayback(); + this.pageNo = bmp.size() - 1; + */ postInvalidate(); } }); @@ -87,10 +130,15 @@ this.msec *= speed; } - //5秒スキップ + //2秒スキップ public void setAnimationSkip(int x){ - this.pageNo += x * 5000 / this.msec; + this.pageNo += x * 2000 / this.msec; if(this.pageNo < 0) this.pageNo = 0; + else if(this.pageNo >= bmp.size()) this.pageNo = bmp.size() - 1; + /*else if(this.pageNo >= bmp.size()) { + if(timer != null) onClickPlayback(); + this.pageNo = bmp.size() - 1; + }*/ postInvalidate(); } diff --git a/app/src/main/res/layout/activity_animation.xml b/app/src/main/res/layout/activity_animation.xml index 94a2c0b..5706054 100644 --- a/app/src/main/res/layout/activity_animation.xml +++ b/app/src/main/res/layout/activity_animation.xml @@ -69,7 +69,7 @@ android:id="@+id/button_back" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="5s back" + android:text="2s back" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@+id/animationMyCanvas" app:layout_constraintHorizontal_bias="0.136" @@ -81,7 +81,7 @@ android:id="@+id/button_skip" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="5s skip" + android:text="2s skip" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.853"