Skip to content

Commit f1af9c9

Browse files
authored
Fixes issue #2: Added Material slider to adjust the brush size (#11)
* Added Material slider to adjust the brush size * Update dialog_brush_size.xml * Update MainActivity.kt * Added EOL
1 parent 3817e2f commit f1af9c9

File tree

2 files changed

+18
-41
lines changed

2 files changed

+18
-41
lines changed

app/src/main/java/com/rihsi/dyno/undraw/MainActivity.kt

+9-12
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ class MainActivity : AppCompatActivity() {
6262
requestReadStoragePermission()
6363
}
6464
}
65+
6566
binding.ibSave.setOnClickListener {
6667
checkForShare=0
6768
requestWriteStoragePermission()
@@ -70,6 +71,7 @@ class MainActivity : AppCompatActivity() {
7071
val flDrawingView: FrameLayout = binding.flDrawingViewContainer
7172
saveMediaToStorage(getBitmapFromView(flDrawingView))
7273
}
74+
7375
}
7476
}
7577
binding.ibShare.setOnClickListener{
@@ -155,21 +157,14 @@ class MainActivity : AppCompatActivity() {
155157
var brushSizeBinding = DialogBrushSizeBinding.inflate(layoutInflater)
156158
brushDialog.setContentView(brushSizeBinding.root)
157159
brushDialog.setTitle("Brush Size: ")
158-
159-
brushSizeBinding.brushSizeMinus.setOnClickListener {
160-
drawingView.setSizeForBrush(10f)
161-
brushDialog.dismiss()
162-
}
163-
brushSizeBinding.brushSizePlus.setOnClickListener {
164-
drawingView.setSizeForBrush(20f)
165-
brushDialog.dismiss()
166-
}
167-
brushSizeBinding.brushSizeLarge.setOnClickListener {
168-
drawingView.setSizeForBrush(30f)
169-
brushDialog.dismiss()
160+
161+
brushSizeBinding.brush_size_slider.addOnChangeListener { slider, value, fromUser ->
162+
binding.drawingView.setSizeForBrush(slider.value)
170163
}
164+
171165
brushDialog.show()
172166
}
167+
173168
private fun getBitmapFromView(view: View): Bitmap{
174169
val returnedBitmap = Bitmap.createBitmap(view.width, view.height, Bitmap.Config.ARGB_8888)
175170
val canvas = Canvas(returnedBitmap)
@@ -183,6 +178,7 @@ class MainActivity : AppCompatActivity() {
183178
view.draw(canvas)
184179
return returnedBitmap
185180
}
181+
186182
private fun saveMediaToStorage(bitmap: Bitmap){
187183
val filename = "${System.currentTimeMillis()}.png"
188184
var fos: OutputStream? =null
@@ -216,6 +212,7 @@ private fun saveMediaToStorage(bitmap: Bitmap){
216212
}
217213
}
218214
}
215+
219216
private fun shareImage(result:Uri?){
220217
val shareIntent = Intent()
221218
shareIntent.action = Intent.ACTION_SEND

app/src/main/res/layout/dialog_brush_size.xml

+9-29
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,19 @@
88
android:gravity="center"
99
android:orientation="vertical">
1010

11-
<ImageButton
12-
android:id="@+id/brush_size_minus"
13-
android:layout_width="wrap_content"
11+
<com.google.android.material.slider.Slider
12+
android:id="@+id/brush_size_slider"
13+
android:layout_width="match_parent"
1414
android:layout_height="wrap_content"
15-
android:contentDescription="small image"
16-
android:src="@drawable/ic_brush_size_minus"
17-
app:layout_constraintBottom_toTopOf="@+id/brush_size_plus"
15+
android:layout_marginTop="28dp"
16+
android:value="20.0f"
17+
android:valueFrom="0.0f"
18+
android:valueTo="80.0f"
1819
app:layout_constraintEnd_toEndOf="parent"
20+
app:layout_constraintHorizontal_bias="0.0"
1921
app:layout_constraintStart_toStartOf="parent"
2022
app:layout_constraintTop_toTopOf="parent" />
2123

22-
<ImageButton
23-
android:id="@+id/brush_size_plus"
24-
android:layout_width="wrap_content"
25-
android:layout_height="wrap_content"
26-
android:contentDescription="large image"
27-
android:src="@drawable/ic_brush_size_plus"
28-
app:layout_constraintBottom_toTopOf="@id/brush_size_large"
29-
app:layout_constraintEnd_toEndOf="parent"
30-
app:layout_constraintStart_toStartOf="parent"
31-
app:layout_constraintTop_toBottomOf="@+id/brush_size_minus" />
32-
33-
<ImageButton
34-
android:id="@+id/brush_size_large"
35-
android:layout_width="wrap_content"
36-
android:layout_height="wrap_content"
37-
android:contentDescription="large image"
38-
android:src="@drawable/ic_brush_size_large"
39-
app:layout_constraintBottom_toBottomOf="parent"
40-
app:layout_constraintEnd_toEndOf="parent"
41-
app:layout_constraintStart_toStartOf="parent"
42-
app:layout_constraintTop_toBottomOf="@+id/brush_size_plus" />
43-
4424

4525
</androidx.constraintlayout.widget.ConstraintLayout>
46-
</layout>
26+
</layout>

0 commit comments

Comments
 (0)