diff --git a/.idea/misc.xml b/.idea/misc.xml index 3b4f6d8..cf9962a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -18,7 +18,7 @@ - + diff --git a/app/build.gradle b/app/build.gradle index 750e517..9b6aef0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,6 +32,7 @@ dependencies { + implementation 'androidx.compose.ui:ui-graphics:1.0.0-rc01' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' diff --git a/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java b/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java index b2c9f43..ba196e6 100644 --- a/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java @@ -19,6 +19,8 @@ private DrawingCanvas drawingCanvas; private DrawingStateViewModel drawingStateViewModel; + private List keywordList; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -37,19 +39,26 @@ findViewById(R.id.okButtton).setOnClickListener(this);//お絵描き終了ボタン findViewById(R.id.clearButton).setOnClickListener(this);//画面クリアボタン + findViewById(R.id.eraserButton).setOnClickListener(this);//消しゴムボタン TextView textKeyword =(TextView)findViewById(R.id.textKeyword);//keywordのTextView drawingCanvas = (DrawingCanvas) findViewById(R.id.drawingCanvas); //getKeywords - //List keywords = drawingStateViewModel.getKeywords(rid); + + drawingStateViewModel.getKeywords().observe(this, new Observer>(){ + @Override + public void onChanged(List keywords) { + keywordList = keywords; + } + }); //getDno drawingStateViewModel.getDno().observe(this, new Observer() { @Override public void onChanged(Integer dno) { - //String keyword = keywords.get(dno); - textKeyword.setText(""+dno); + String keyword = keywordList.get(dno); + textKeyword.setText("Dno: " + dno + ", Keyword: " + keyword); } }); @@ -67,6 +76,9 @@ } } }); + + //getKeywordの呼び出し + drawingStateViewModel.init(); //タイマースタート呼び出し drawingStateViewModel.start(500); } @@ -78,6 +90,8 @@ drawingStateViewModel.putDrawing(bitmap); }else if(v.getId() == R.id.clearButton){//clearButtonが押されたときの処理 drawingCanvas.clearCanvas(); + }else if(v.getId() == R.id.eraserButton){//eraserButtonが押されたときの処理 + drawingCanvas.eraserPaint(); } } diff --git a/app/src/main/java/org/ntlab/irisclient/DrawingCanvas.java b/app/src/main/java/org/ntlab/irisclient/DrawingCanvas.java index 484798d..1c79e96 100644 --- a/app/src/main/java/org/ntlab/irisclient/DrawingCanvas.java +++ b/app/src/main/java/org/ntlab/irisclient/DrawingCanvas.java @@ -5,6 +5,8 @@ import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffXfermode; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; @@ -67,4 +69,12 @@ invalidate(); } + //消しゴム + public void eraserPaint(){ + //paint = new Paint(); +// Paint paint = new Paint(); +// paint.setColor(Color.TRANSPARENT); +// paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); + } + } diff --git a/app/src/main/res/layout/activity_drawing.xml b/app/src/main/res/layout/activity_drawing.xml index 8850c50..84e2276 100644 --- a/app/src/main/res/layout/activity_drawing.xml +++ b/app/src/main/res/layout/activity_drawing.xml @@ -42,6 +42,18 @@ app:layout_constraintTop_toBottomOf="@+id/testText" app:layout_constraintVertical_bias="1.0" /> +