Skip to content

Instantly share code, notes, and snippets.

View oguzsout's full-sized avatar
🧠
Considering

Oguzhan Dogdu oguzsout

🧠
Considering
View GitHub Profile
class MainActivity : ComponentActivity() {
@OptIn(ExperimentalMaterial3Api::class)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior(
rememberTopAppBarState()
)
val isCollapsed =
remember { derivedStateOf { scrollBehavior.state.collapsedFraction < 0.5 } }
@oguzsout
oguzsout / modalbottomsheet.kt
Last active February 23, 2024 16:36
ModalBottomSheetNavigationBarsPadding
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
var showSheet by remember { mutableStateOf(false) }
if (showSheet) {
BottomSheet() {
showSheet = false
}
@oguzsout
oguzsout / gist:3b350c5750054cf537aaa03df3bccbb9
Created January 29, 2024 14:01
Dagger fails to resolved ViewBinding classes generated by the Android Gradle plugin
androidComponents {
onVariants(selector().all()) { variant ->
afterEvaluate {
val dataBindingTask = this.project.tasks.named(
"dataBindingGenBaseClasses" + variant.name.replaceFirstChar {
if (it.isLowerCase()) {
it.titlecase(
Locale.getDefault()
)
} else {
@oguzsout
oguzsout / drawermenu.txt
Last active June 23, 2022 14:53
DrawerMenu
@Composable
fun GmailDrawerMenu() {
val menuItemList = listOf(
MenuItems.TopHeader,
MenuItems.Divider,
MenuItems.AllInboxes,
MenuItems.Divider,
MenuItems.Primary,
MenuItems.Social,
MenuItems.Promotions,
@oguzsout
oguzsout / menuitems.txt
Last active June 23, 2022 14:27
MenuItems
sealed class MenuItems(
val icon: ImageVector? = null, val title: String? = null,
val isDivider: Boolean = false, val isHeader: Boolean = false, val topHeader: Boolean = false
) {
object TopHeader : MenuItems(title = "Gmail", topHeader = true)
object AllInboxes : MenuItems(
icon = Icons.Filled.AllInbox,
title = "All inboxes"
)
@oguzsout
oguzsout / appbar.txt
Last active June 14, 2022 20:33
AppBar
@Composable
fun GmailAppBar(
scaffoldState: ScaffoldState,
scope: CoroutineScope
) {
Box(
modifier = Modifier
.padding(10.dp)
) {
Card(
Exception in thread "main" java.lang.IllegalArgumentException: Name is too long
at com.oguzdogdu.backing.Car.setCarName(Car.kt:8)
at com.oguzdogdu.backing.CarKt.main(Car.kt:14)
at com.oguzdogdu.backing.CarKt.main(Car.kt)
class Car {
var carName: String = ""
get() = field
set(value) {
field =
if (value.length < 3) value else throw IllegalArgumentException("Name is too long")
}
}
fun main() {
private val _newsList = MutableLiveData<List<News>>()
val newsList: LiveData<List<News>>
get() = _newsList
class Car {
var carName: String = ""
get() = field
set(value) {
field = value
}
var carModel: String = ""
get() = field
set(value) {