Permissions: Assent
Custom Calendar: Custom Calendar
Custom shapes for views: ShapeOfView
Recycler View:
Permissions: Assent
Custom Calendar: Custom Calendar
Custom shapes for views: ShapeOfView
Recycler View:
private fun createImageFile(albumName: String): File? | |
{ | |
val randomString = UUID.randomUUID().toString() | |
val fileLocation = File( | |
context?.getExternalFilesDir(Environment.DIRECTORY_PICTURES), albumName | |
) | |
fileLocation.apply { | |
if(!this.exists()) |
1 - CodePath Android
fun View.slideDownToShow(startPosition: Float, duration: Long = 300L){ | |
if (this.visibility == View.GONE || this.visibility == View.INVISIBLE){ | |
this.visibility = View.VISIBLE | |
} | |
val translationAnimation = TranslateAnimation( | |
0f, // fromXDelta | |
0f, // toXDelta | |
- startPosition, // fromYDelta |
Bezier Points
Crossfade(targetState = currentText.isEmpty()) { isEmpty -> | |
if(isEmpty){ | |
Icon( | |
imageVector = Icons.Outlined.Search, | |
contentDescription = null, | |
modifier = Modifier | |
.clickable { | |
currentText = "" | |
} | |
) |
@OptIn(ExperimentalMaterial3Api::class) | |
@Composable | |
fun SearchBar( | |
modifier: Modifier = Modifier, | |
@StringRes placeholderText: Int = R.string.placholder_text, | |
onSearch: (searchString: String) -> Unit | |
) { | |
var currentText by rememberSaveable { mutableStateOf("") } | |
val focusManager = LocalFocusManager.current |
It's a lot easier to test accessibility on the fly using ADB. This gist attempts to make the days of navigating through the Android device settings UI to change Accessibility settings obsolete.
These ADB commands will hopefully encourage Android developers to test and use their apps with common Accessiblility settings enabled.
Credit to James Nitsch for inspiring this, and for figuring out the put
commands to enable these settings.