diff --git a/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java b/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java index f7af557..28ad776 100644 --- a/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java @@ -9,7 +9,9 @@ import android.graphics.Color; import android.os.Bundle; import android.view.View; +import android.view.WindowManager; import android.widget.CompoundButton; +import android.widget.ImageButton; import android.widget.SeekBar; import android.widget.TextView; import android.widget.ToggleButton; @@ -29,12 +31,16 @@ private Integer drawingNow = 0; private Integer nowTime; private ToggleButton okToggleButton; + private ImageButton blackPen; + private ImageButton eraser; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_drawing); + //getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);//ステータスバー非表示 + //Irisから必要な情報を取得 Iris iris = (Iris) this.getApplication(); Boolean bMaster = iris.isMaster(); @@ -43,8 +49,8 @@ drawingStateViewModel= new ViewModelProvider(this).get(DrawingStateViewModel.class); findViewById(R.id.clearButton).setOnClickListener(this);//画面クリアボタン - findViewById(R.id.eraserButton).setOnClickListener(this);//消しゴムボタン - findViewById(R.id.blackPenButton).setOnClickListener(this);//消しゴムボタン + blackPen = findViewById(R.id.blackPenButton); + eraser = findViewById(R.id.eraserButton); //完了ボタン okToggleButton = (ToggleButton) findViewById(R.id.toggleButton); @@ -72,12 +78,36 @@ } }); + TextView textPenSize =(TextView)findViewById(R.id.penSizeText); + TextView textAlpha =(TextView)findViewById(R.id.alphaText); + textPenSize.setText("サイズ: 10%"); + textAlpha.setText("透明度: 255%"); + //筆の大きさを変えるシークバー SeekBar seekbar = findViewById(R.id.seekBar); seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int i, boolean b) {//変更中 drawingCanvas.setPenWidth(i); + textPenSize.setText("サイズ: "+ i + "%"); + } + + @Override + public void onStartTrackingTouch(SeekBar seekBar) {//変更開始時 + } + + @Override + public void onStopTrackingTouch(SeekBar seekBar) {//変更終了時 + } + }); + + //筆の透明度を変えるシークバー + SeekBar seekbar2 = findViewById(R.id.seekBar2); + seekbar2.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { + @Override + public void onProgressChanged(SeekBar seekBar, int i, boolean b) {//変更中 + drawingCanvas.setAlpha(i); + textAlpha.setText("透明度: "+ i + "%"); } @Override @@ -94,6 +124,7 @@ TextView textMemberNum = (TextView)findViewById(R.id.drawingNowText);//残りのイラスト枚数のTextView TextView timerText = (TextView)findViewById(R.id.timerText);//TimerのTextView + drawingCanvas = (DrawingCanvas) findViewById(R.id.drawingCanvas); //残りのイラスト枚数の表示 @@ -114,7 +145,7 @@ @Override public void onChanged(Integer dno) { String keyword = keywordList.get(dno); - textKeyword.setText("Dno: " + dno + ", Keyword: " + keyword); + textKeyword.setText(keyword); drawingNow++; textMemberNum.setText(""+drawingNow+"/"+drawingNum); drawingCanvas.clearCanvas(); @@ -166,8 +197,11 @@ drawingCanvas.clearCanvas(); } else if (v.getId() == R.id.eraserButton) {//eraserButtonが押されたときの処理 drawingCanvas.setColor(Color.WHITE); + eraser.setBackgroundResource(R.drawable.border); + blackPen.setBackgroundColor(Color.WHITE); } else if (v.getId() == R.id.blackPenButton) { drawingCanvas.setColor(Color.BLACK); + blackPen.setBackgroundResource(R.drawable.border); } } } diff --git a/app/src/main/java/org/ntlab/irisclient/DrawingCanvas.java b/app/src/main/java/org/ntlab/irisclient/DrawingCanvas.java index 4467a44..db7d2f2 100644 --- a/app/src/main/java/org/ntlab/irisclient/DrawingCanvas.java +++ b/app/src/main/java/org/ntlab/irisclient/DrawingCanvas.java @@ -1,5 +1,8 @@ package org.ntlab.irisclient; +import static android.graphics.Color.BLACK; +import static android.graphics.Color.WHITE; + import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; @@ -14,6 +17,8 @@ import androidx.annotation.Nullable; +import java.util.ArrayList; + public class DrawingCanvas extends View { private Canvas canvas; @@ -102,8 +107,16 @@ paint.setColor(color); } + //筆の透明度を変更 + public void setAlpha(int alpha){ + if(paint.getColor()==BLACK){ + paint.setAlpha(alpha); + } + } + //筆の幅を変更 public void setPenWidth(int size){ paint.setStrokeWidth(size); } + } diff --git a/app/src/main/res/drawable/eraser.png b/app/src/main/res/drawable/eraser.png new file mode 100644 index 0000000..2632152 --- /dev/null +++ b/app/src/main/res/drawable/eraser.png Binary files differ diff --git a/app/src/main/res/drawable/pen.png b/app/src/main/res/drawable/pen.png new file mode 100644 index 0000000..b904578 --- /dev/null +++ b/app/src/main/res/drawable/pen.png Binary files differ diff --git a/app/src/main/res/layout/activity_drawing.xml b/app/src/main/res/layout/activity_drawing.xml index 8c19528..42d07cf 100644 --- a/app/src/main/res/layout/activity_drawing.xml +++ b/app/src/main/res/layout/activity_drawing.xml @@ -8,124 +8,170 @@ + app:layout_constraintVertical_bias="1" />