Skip to content

Commit

Permalink
Added Custom Capture button for camera
Browse files Browse the repository at this point in the history
  • Loading branch information
Amjad Khan committed Sep 24, 2024
1 parent 1180035 commit 081d78a
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.dp
Expand All @@ -33,6 +34,31 @@ import com.example.skindiseaseapp.ui.theme.medium
import network.chaintech.sdpcomposemultiplatform.sdp
import network.chaintech.sdpcomposemultiplatform.ssp

@Composable
fun CameraCaptureButton(
modifier: Modifier = Modifier,
interactionSource: MutableInteractionSource? = null,
shape: Shape = MaterialTheme.shapes.small.copy(CornerSize(percent = 50)),
backgroundColor: Color = MaterialTheme.colorScheme.secondary,
contentColor: Color = contentColorFor(backgroundColor),
elevation: FloatingActionButtonElevation = FloatingActionButtonDefaults.elevation(),
onClick: () -> Unit,
) {

LargeFloatingActionButton(
modifier = modifier.scale(0.8f),
shape = shape,
containerColor = backgroundColor,
contentColor = contentColor,
elevation = elevation,
interactionSource = interactionSource,
onClick = { onClick.invoke() },

) {
// Icon(imageVector = image, contentDescription = "", modifier.size(32.sdp))
}
}

@Composable
fun CommonFloatingButton(
image: ImageVector,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ fun CommonTopAppBar(
AsyncImage(
model = defaultAvatar,
contentScale = ContentScale.FillBounds,
contentDescription = "Profile Image",
contentDescription = stringResource(R.string.profile_image),
modifier = Modifier
.size(32.sdp)
.clip(RoundedCornerShape(50.sdp))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Color.Companion.Black
import androidx.compose.ui.graphics.Color.Companion.Green
Expand All @@ -64,6 +65,7 @@ import androidx.core.content.ContextCompat
import coil.compose.rememberAsyncImagePainter
import com.example.skindiseaseapp.R
import com.example.skindiseaseapp.ui.permission.RequestCameraPermission
import com.example.skindiseaseapp.ui.screens.common.CameraCaptureButton
import com.example.skindiseaseapp.ui.screens.common.CommonFloatingButton
import com.example.skindiseaseapp.ui.screens.common.CommonFloatingButtonSmall
import com.example.skindiseaseapp.ui.screens.common.CommonFloatingButtonWithText
Expand Down Expand Up @@ -216,6 +218,7 @@ fun ScanLesionScreenRoute(
) {

Spacer(Modifier.size(8.sdp))

CommonFloatingButtonSmall(
image = Icons.Default.DateRange,
contentColor = Black,
Expand All @@ -228,8 +231,15 @@ fun ScanLesionScreenRoute(
},
)
Spacer(Modifier.size(60.sdp))
CommonFloatingButton(
image = Icons.Filled.Refresh,
CameraCaptureButton(
modifier = Modifier
.size(64.sdp)
.clip(RoundedCornerShape(50.sdp))
.border(
1.sdp,
Color.White,
shape = RoundedCornerShape(50.sdp)
),
contentColor = Black,
backgroundColor = Green,
shape = CircleShape,
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,5 @@
<string name="cropped_image">Cropped image</string>
<string name="_1x">1x</string>
<string name="_2x">2x</string>
<string name="profile_image">Profile Image</string>
</resources>

0 comments on commit 081d78a

Please sign in to comment.