Skip to content

Commit 04fc5d5

Browse files
committed
Enable edge-to-edge display
This commit updates MainActivity to support edge-to-edge display by using WindowCompat and ViewCompat to handle system insets.
1 parent 8dece8f commit 04fc5d5

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

app/src/main/java/com/softartdev/conwaysgameoflife/ui/MainActivity.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ import android.view.MenuItem
88
import android.widget.SeekBar
99
import androidx.appcompat.app.AlertDialog
1010
import androidx.appcompat.app.AppCompatActivity
11+
import androidx.core.view.ViewCompat
12+
import androidx.core.view.ViewGroupCompat
13+
import androidx.core.view.WindowCompat
14+
import androidx.core.view.WindowInsetsCompat
15+
import androidx.core.view.updatePadding
1116
import com.softartdev.conwaysgameoflife.MainService
1217
import com.softartdev.conwaysgameoflife.R
1318
import com.softartdev.conwaysgameoflife.databinding.ActivityMainBinding
@@ -23,8 +28,18 @@ class MainActivity : AppCompatActivity() {
2328

2429
override fun onCreate(savedInstanceState: Bundle?) {
2530
super.onCreate(savedInstanceState)
31+
WindowCompat.enableEdgeToEdge(window)
32+
WindowCompat.getInsetsController(window, window.decorView).isAppearanceLightStatusBars = true
2633
binding = ActivityMainBinding.inflate(layoutInflater)
2734
setContentView(binding.root)
35+
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { view, insets ->
36+
val systemInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars())
37+
view.updatePadding(
38+
top = systemInsets.top,
39+
bottom = systemInsets.bottom
40+
)
41+
return@setOnApplyWindowInsetsListener insets
42+
}
2843
binding.mainCellLayout.setOnCellClickListener { x, y ->
2944
val inverted = iCellState.invertLifeGeneration(x, y) ?: return@setOnCellClickListener
3045
repaint(inverted)

0 commit comments

Comments
 (0)