Skip to content

Commit 1ae6378

Browse files
update: rebuilt captcha images
1 parent 8ff1eaa commit 1ae6378

1 file changed

Lines changed: 49 additions & 15 deletions

File tree

app/src/main/java/com/example/sw0b_001/ui/components/CaptchaImage.kt

Lines changed: 49 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,25 @@ package com.example.sw0b_001.ui.components
22

33
import android.graphics.Bitmap
44
import android.graphics.BitmapFactory
5+
import android.graphics.fonts.FontStyle
56
import androidx.compose.foundation.Image
7+
import androidx.compose.foundation.background
8+
import androidx.compose.foundation.layout.Arrangement
9+
import androidx.compose.foundation.layout.Box
610
import androidx.compose.foundation.layout.Column
711
import androidx.compose.foundation.layout.Spacer
12+
import androidx.compose.foundation.layout.fillMaxSize
813
import androidx.compose.foundation.layout.fillMaxWidth
14+
import androidx.compose.foundation.layout.height
915
import androidx.compose.foundation.layout.padding
16+
import androidx.compose.foundation.layout.size
1017
import androidx.compose.foundation.shape.RoundedCornerShape
1118
import androidx.compose.foundation.text.KeyboardOptions
12-
import androidx.compose.material.Button
1319
import androidx.compose.material.Text
1420
import androidx.compose.material.icons.Icons
1521
import androidx.compose.material.icons.filled.Visibility
1622
import androidx.compose.material.icons.filled.VisibilityOff
23+
import androidx.compose.material3.Button
1724
import androidx.compose.material3.Icon
1825
import androidx.compose.material3.IconButton
1926
import androidx.compose.material3.MaterialTheme
@@ -25,9 +32,11 @@ import androidx.compose.runtime.getValue
2532
import androidx.compose.runtime.mutableStateOf
2633
import androidx.compose.runtime.remember
2734
import androidx.compose.runtime.setValue
35+
import androidx.compose.ui.Alignment
2836
import androidx.compose.ui.Modifier
2937
import androidx.compose.ui.graphics.Color
3038
import androidx.compose.ui.graphics.asImageBitmap
39+
import androidx.compose.ui.layout.ContentScale
3140
import androidx.compose.ui.platform.LocalContext
3241
import androidx.compose.ui.res.stringResource
3342
import androidx.compose.ui.text.input.KeyboardType
@@ -36,6 +45,7 @@ import androidx.compose.ui.text.input.VisualTransformation
3645
import androidx.compose.ui.tooling.preview.Preview
3746
import androidx.compose.ui.unit.dp
3847
import androidx.compose.ui.window.Dialog
48+
import androidx.compose.ui.window.DialogProperties
3949
import com.example.sw0b_001.R
4050
import com.example.sw0b_001.ui.theme.AppTheme
4151

@@ -46,23 +56,47 @@ fun CaptchaImage(
4656
onSubmitCallback: (String) -> Unit,
4757
) {
4858
var answer by remember{ mutableStateOf("") }
49-
Dialog(onDismissRequest = onDismissCallback) {
50-
Column( Modifier.padding(16.dp) ) {
51-
Image(bitmap.asImageBitmap(), "")
59+
Dialog(
60+
onDismissRequest = onDismissCallback,
61+
properties = DialogProperties(usePlatformDefaultWidth = false)
62+
) {
63+
Box(Modifier
64+
.fillMaxWidth()
65+
.height(350.dp)
66+
.background(color = MaterialTheme.colorScheme.onPrimary)
67+
) {
68+
Column( Modifier
69+
.padding(16.dp)
70+
.fillMaxSize(),
71+
verticalArrangement = Arrangement.Center,
72+
horizontalAlignment = Alignment.CenterHorizontally
73+
) {
74+
Image( bitmap.asImageBitmap(),
75+
"",
76+
contentScale = ContentScale.FillWidth,
77+
modifier = Modifier.size(150.dp)
78+
)
5279

53-
Spacer(Modifier.padding(16.dp))
54-
Text(stringResource(R.string.enter_the_text_in_the_image))
80+
Spacer(Modifier.padding(16.dp))
81+
Text(
82+
stringResource(R.string.enter_the_text_in_the_image),
83+
style = MaterialTheme.typography.labelSmall,
84+
color = MaterialTheme.colorScheme.secondary
85+
)
5586

56-
Spacer(Modifier.padding(8.dp))
57-
OutlinedTextField(
58-
value = answer,
59-
onValueChange = {answer = it},
60-
modifier = Modifier.fillMaxWidth(),
61-
shape = RoundedCornerShape(12.dp),
62-
)
87+
Spacer(Modifier.padding(4.dp))
88+
OutlinedTextField(
89+
value = answer,
90+
onValueChange = {answer = it},
91+
modifier = Modifier.fillMaxWidth(),
92+
shape = RoundedCornerShape(12.dp),
93+
)
6394

64-
Button(onClick = {onSubmitCallback(answer)}, Modifier.fillMaxWidth()) {
65-
Text(stringResource(R.string.submit1))
95+
Spacer(Modifier.padding(8.dp))
96+
97+
Button(onClick = {onSubmitCallback(answer)}, Modifier.fillMaxWidth()) {
98+
Text(stringResource(R.string.submit1))
99+
}
66100
}
67101
}
68102
}

0 commit comments

Comments
 (0)