diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java index 0b9211a..41d2e3f 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java @@ -57,4 +57,7 @@ @DELETE("gallery/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/positions") Call deleteStrokeNo(@Path("aid") Integer aid, @Path("strokeNo") Integer strokeNo); //----------------------------------------------------------------- + // + @GET("gallery/{aid}/pageMap/{pid}/image") + Call getLayers(@Path("aid") Integer aid, @Path("pid")Integer pid); } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/MainActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/MainActivity.java index da35e65..cde184d 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/MainActivity.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/MainActivity.java @@ -23,6 +23,7 @@ super.onCreate(savedInstanceState); binding = ActivityMainBinding.inflate(getLayoutInflater()); + setTheme(R.style.Theme_Acanthus); setContentView(binding.getRoot()); BottomNavigationView navView = findViewById(R.id.nav_view); 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/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateFragment.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateFragment.java index 3556733..25e565d 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateFragment.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateFragment.java @@ -49,8 +49,9 @@ //Integer uid = acanthus.getPreferenceUid(); String name = ((EditText)view.findViewById(R.id.AnimationNameCreate)).getText().toString(); //String token = acanthus.getPreferenceToken(); - Integer aid = createViewModel.startWorkCreate(uid, name, token); - acanthus.setAid(aid); + createViewModel.startWorkCreate(uid, name, token); + //Integer aid = createViewModel.startWorkCreate(uid, name, token); + //acanthus.setAid(aid); transitionPaintActivity(); }); } diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateViewModel.java index 4bb88e7..82f7f18 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateViewModel.java @@ -1,5 +1,7 @@ package org.ntlab.acanthus_client.views.main_menu_ui.create; +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; import org.ntlab.acanthus_client.entities.AidJson; @@ -12,6 +14,17 @@ import retrofit2.converter.jackson.JacksonConverterFactory; public class CreateViewModel extends ViewModel { + + private MutableLiveData aidJsonMutableLiveData; + + public CreateViewModel() { + this.aidJsonMutableLiveData = new MutableLiveData<>(); + } + + public LiveData getAidJson() { + return this.aidJsonMutableLiveData; + } + //新規作品作成APIの呼び出し public Integer startWorkCreate(Integer uid, String animationName, String token) { Retrofit retrofit = new Retrofit.Builder() @@ -29,8 +42,8 @@ public void onResponse(Call call, Response response) { if (response.isSuccessful()) { if (response.body() != null) { - aid[0] = response.body().getAid(); - //aidJsonMutableLiveData.setValue(response.body()); + //aid[0] = response.body().getAid(); + aidJsonMutableLiveData.setValue(response.body()); } } } diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleActivity.java index 02a8149..6a1dab4 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleActivity.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleActivity.java @@ -33,8 +33,7 @@ //ここに画像処理を記載する ImageView imageView = (ImageView) findViewById(R.id.gifImage); Glide.with(this).load(R.drawable.load).into(imageView); - TextView textView = (TextView)findViewById(R.id.textView3); - loadimg(imageView,textView); + loadimg(imageView); @@ -43,13 +42,12 @@ } //////////////////////////////////////////////////////////////////// - public void loadimg(ImageView imageView,TextView textView) { + public void loadimg(ImageView imageView) { Handler handler = new Handler(); Runnable runnable = new Runnable() { @Override public void run() { imageView.setVisibility(View.VISIBLE); - textView.setText("アカウント情報取得中"); } }; handler.postDelayed(runnable, 2000); 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" diff --git a/app/src/main/res/layout/activity_sign_up.xml b/app/src/main/res/layout/activity_sign_up.xml index f2ac124..a5666df 100644 --- a/app/src/main/res/layout/activity_sign_up.xml +++ b/app/src/main/res/layout/activity_sign_up.xml @@ -22,67 +22,68 @@ + app:layout_constraintVertical_bias="0.857" /> + app:layout_constraintVertical_bias="0.855" /> + app:layout_constraintVertical_bias="1.0" /> + app:layout_constraintVertical_bias="0.972" /> + app:layout_constraintVertical_bias="0.616" />