This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import android.os.Bundle | |
| import androidx.activity.ComponentActivity | |
| import androidx.activity.compose.setContent | |
| import androidx.compose.foundation.layout.fillMaxSize | |
| import androidx.compose.material3.MaterialTheme | |
| import androidx.compose.material3.Surface | |
| import androidx.compose.ui.Modifier | |
| import com.example.composedemo.ui.theme.ComposeDemoTheme | |
| class MainActivity : ComponentActivity() { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import android.view.SurfaceHolder | |
| import android.view.SurfaceView | |
| import androidx.compose.foundation.gestures.detectTapGestures | |
| import androidx.compose.foundation.layout.fillMaxSize | |
| import androidx.compose.runtime.* | |
| import androidx.compose.ui.Modifier | |
| import androidx.compose.ui.input.pointer.pointerInput | |
| import androidx.compose.ui.viewinterop.AndroidView | |
| @Composable |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import android.graphics.Canvas | |
| import android.graphics.Color | |
| import android.graphics.Paint | |
| import android.view.SurfaceHolder | |
| // Represents an active ripple animation | |
| data class Ripple( | |
| val centerX: Float, | |
| val centerY: Float, | |
| var currentRadius: Float, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // MyAccessibilityService.kt | |
| import android.accessibilityservice.AccessibilityService | |
| import android.view.accessibility.AccessibilityEvent | |
| import android.util.Log | |
| class MyAccessibilityService : AccessibilityService() { | |
| private val TAG = "MyAccessibilityService" | |
| override fun onAccessibilityEvent(event: AccessibilityEvent?) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <application | |
| ... > | |
| ... | |
| <service | |
| android:name=".MyAccessibilityService" | |
| android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE" | |
| android:exported="false"> | |
| <intent-filter> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <accessibility-service xmlns:android="http://schemas.android.com/apk/res/android" | |
| android:description="@string/accessibility_service_description" | |
| android:accessibilityEventTypes="typeWindowStateChanged" | |
| android:packageNames="com.google.android.youtube, com.google.android.gm" | |
| android:accessibilityFeedbackType="feedbackGeneric" | |
| android:notificationTimeout="100" | |
| android:canRetrieveWindowContent="true" /> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // MyAccessibilityService.kt | |
| import android.accessibilityservice.AccessibilityService | |
| import android.view.accessibility.AccessibilityEvent | |
| import android.util.Log | |
| class MyAccessibilityService : AccessibilityService() { | |
| private val TAG = "MyAccessibilityService" | |
| override fun onAccessibilityEvent(event: AccessibilityEvent?) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import androidx.compose.foundation.background | |
| import androidx.compose.foundation.layout.fillMaxSize | |
| import androidx.compose.foundation.layout.padding | |
| import androidx.compose.material3.Text | |
| import androidx.compose.runtime.Composable | |
| import androidx.compose.ui.Modifier | |
| import androidx.compose.ui.graphics.Color | |
| import androidx.compose.ui.unit.dp | |
| @Composable |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import androidx.compose.runtime.Composable | |
| import androidx.compose.ui.Modifier | |
| import androidx.compose.ui.layout.Layout | |
| import androidx.compose.ui.layout.Placeable | |
| import androidx.compose.ui.unit.Constraints | |
| import androidx.compose.ui.layout.Measurable | |
| @Composable | |
| fun GenericConditionalLayout( | |
| modifier: Modifier = Modifier, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @Composable | |
| fun ConditionalColumnLayoutWithThreshold() { | |
| BoxWithConstraints(modifier = Modifier.fillMaxSize()) { | |
| // This '200.dp' is brittle and doesn't adapt to content changes! | |
| if (maxHeight > 200.dp) { | |
| Column { | |
| Text("Top Element", Modifier.background(Color.Yellow).height(100.dp)) | |
| Text("Middle Element", Modifier.background(Color.Green).height(50.dp)) | |
| Text("Bottom Element", Modifier.background(Color.Blue).height(50.dp)) | |
| } |
NewerOlder