diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 153311b..7f805bd 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,8 +15,11 @@ android:supportsRtl="true" android:theme="@style/Theme.Acanthus" android:usesCleartextTraffic="true"> - - + + + @@ -24,9 +27,9 @@ - - - + + + animationJsonList = new ArrayList<>(); @@ -74,6 +75,10 @@ return aid; } + public Integer getEditingPageNo() { + return editingPageNo; + } + public Animation getCurrentAnimation() { return currentAnimation; } @@ -127,6 +132,10 @@ editor.commit(); } + public void setEditingPageNo(Integer editingPageNo) { + this.editingPageNo = editingPageNo; + } + public void setCurrentAnimation(Animation currentAnimation) { this.currentAnimation = currentAnimation; } @@ -143,6 +152,7 @@ this.animationJsonList.add(animationJson); } //----------------------------------------------------------------- + //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java index 16f5e75..dee87de 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java @@ -38,7 +38,6 @@ super.onCreate(savedInstanceState); init(); initView(); - } //----------------------------------------------------------------- @@ -63,20 +62,12 @@ } //----------------------------------------------------------------- - // - public void onClickAddPage(View view) { - paintViewModel.addPageRequest(); - } - - //----------------------------------------------------------------- //----------------------------------------------------------------- // init private void init() { Acanthus acanthus = (Acanthus) getApplication(); paintViewModel = new ViewModelProvider(this).get(PaintViewModel.class); paintViewModel.init(acanthus); - - startObserve(); } //----------------------------------------------------------------- @@ -92,17 +83,6 @@ } - //----------------------------------------------------------------- - // - private void startObserve() { - paintViewModel.getPageNo().observe(this, new Observer() { - @Override - public void onChanged(Integer i) { - binding.buttonAddPage.setText(String.valueOf(i)); - } - }); - } - //------------------------------------------------------------------ // デバッグ用の現在編集中のAid表示 private void displayAid() { diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintToolBar.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintToolBar.java index 6ea82bf..31a5821 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintToolBar.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintToolBar.java @@ -1,7 +1,6 @@ package org.ntlab.acanthus_client.views.paint; import android.content.Intent; -import android.graphics.Paint; import android.view.MenuItem; import androidx.annotation.NonNull; @@ -12,6 +11,7 @@ import org.ntlab.acanthus_client.Acanthus; import org.ntlab.acanthus_client.R; import org.ntlab.acanthus_client.views.MainActivity; +import org.ntlab.acanthus_client.views.paint.page.PageActivity; //----------------------------------------------------------------- // 描画シーンの下部のツールバー @@ -45,6 +45,12 @@ case R.id.navigation_invite: transitionInviteActivity(appCompatActivity); return true; + + //----------------------------------------------------------------- + case R.id.navigation_page: + transitionPageActivity(appCompatActivity); + return true; + } return true; @@ -61,6 +67,15 @@ Intent intent = new Intent(acanthus, MainActivity.class); appCompatActivity.startActivity(intent); } + + //----------------------------------------------------------------- + // 編集へ移動 + private void transitionPageActivity(AppCompatActivity appCompatActivity) { + Acanthus acanthus = (Acanthus) appCompatActivity.getApplication(); + Intent intent = new Intent(acanthus, PageActivity.class); + appCompatActivity.startActivity(intent); + } + //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/page/PageActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/page/PageActivity.java new file mode 100644 index 0000000..d355000 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/page/PageActivity.java @@ -0,0 +1,94 @@ +package org.ntlab.acanthus_client.views.paint.page; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; + +import android.os.Bundle; +import android.util.Log; +import android.view.MotionEvent; +import android.view.VelocityTracker; +import android.view.View; + +import org.ntlab.acanthus_client.Acanthus; +import org.ntlab.acanthus_client.R; +import org.ntlab.acanthus_client.databinding.ActivityPageBinding; +import org.ntlab.acanthus_client.databinding.ActivityPaintBinding; +import org.ntlab.acanthus_client.views.paint.PaintViewModel; + +//----------------------------------------------------------------- +// ページ編集画面 +public class PageActivity extends AppCompatActivity { + private PaintViewModel paintViewModel; + private ActivityPageBinding binding; + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_page); + + init(); + initView(); + } + + //----------------------------------------------------------------- + // + public void onClickAddPage(View view) { + paintViewModel.addPageRequest(); + } + + //----------------------------------------------------------------- + // + @Override + public boolean onTouchEvent(MotionEvent event) { + int index = event.getActionIndex(); + int action = event.getActionMasked(); + + //----------------------------------------------------------------- + switch (action) { + + case MotionEvent.ACTION_MOVE: + onSlideAddPage(); + break; + } + return true; + } + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + private void init() { + Acanthus acanthus = (Acanthus) getApplication(); + paintViewModel = new ViewModelProvider(this).get(PaintViewModel.class); + paintViewModel.init(acanthus); + + startObserve(); + } + + //----------------------------------------------------------------- + // + public void onSlideAddPage() { + paintViewModel.addPageRequest(); + } + + + //----------------------------------------------------------------- + // + private void initView() { + binding = ActivityPageBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + } + + //----------------------------------------------------------------- + // + private void startObserve() { + paintViewModel.getPageNo().observe(this, new Observer() { + @Override + public void onChanged(Integer i) { + binding.buttonAddPage.setText(String.valueOf(i)); + } + }); + } + //----------------------------------------------------------------- +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_page.xml b/app/src/main/res/layout/activity_page.xml new file mode 100644 index 0000000..6b22c3e --- /dev/null +++ b/app/src/main/res/layout/activity_page.xml @@ -0,0 +1,37 @@ + + + +