Dana
8 天以前 c7ac050c321385eac1e5938575c99304e68317c2
app/src/main/java/com/safeluck/floatwindow/MainActivity.kt
@@ -11,6 +11,8 @@
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.*
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.*
@@ -241,101 +243,121 @@
    onStopUsbPush: () -> Unit
) {
    Column(
        modifier = Modifier
            .fillMaxSize()
            .padding(16.dp),
        horizontalAlignment = Alignment.CenterHorizontally,
        verticalArrangement = Arrangement.spacedBy(12.dp)
        modifier = Modifier.fillMaxSize()
    ) {
        Text(
            text = "FloatingService 控制",
            style = MaterialTheme.typography.headlineMedium,
            modifier = Modifier.padding(bottom = 8.dp)
        )
        Text(
            text = if (isServiceBound) "服务状态: 已绑定" else "服务状态: 未绑定",
            style = MaterialTheme.typography.bodyMedium,
            color = if (isServiceBound) MaterialTheme.colorScheme.primary else MaterialTheme.colorScheme.error,
            modifier = Modifier.padding(bottom = 16.dp)
        )
        // 按钮 1: 绑定服务
        Button(
            onClick = onBindService,
            modifier = Modifier.fillMaxWidth(),
            enabled = !isServiceBound
        // 固定顶部:标题和状态
        Column(
            modifier = Modifier
                .fillMaxWidth()
                .padding(16.dp),
            horizontalAlignment = Alignment.CenterHorizontally
        ) {
            Text("1. 绑定 FloatingService")
            Text(
                text = "FloatingService 控制",
                style = MaterialTheme.typography.headlineMedium,
                modifier = Modifier.padding(bottom = 8.dp)
            )
            Text(
                text = if (isServiceBound) "服务状态: 已绑定" else "服务状态: 未绑定",
                style = MaterialTheme.typography.bodyMedium,
                color = if (isServiceBound) MaterialTheme.colorScheme.primary else MaterialTheme.colorScheme.error,
                modifier = Modifier.padding(bottom = 16.dp)
            )
        }
        
        // 按钮 2: 解绑服务
        Button(
            onClick = onUnbindService,
            modifier = Modifier.fillMaxWidth(),
            enabled = isServiceBound
        Divider()
        // 可滚动的按钮列表
        Column(
            modifier = Modifier
                .fillMaxSize()
                .verticalScroll(rememberScrollState())
                .padding(horizontal = 16.dp),
            horizontalAlignment = Alignment.CenterHorizontally,
            verticalArrangement = Arrangement.spacedBy(12.dp)
        ) {
            Text("2. 解绑 FloatingService")
        }
        Divider(modifier = Modifier.padding(vertical = 8.dp))
        // 按钮 3: 开始 Android 相机录像
        Button(
            onClick = onStartAndroidRecord,
            modifier = Modifier.fillMaxWidth(),
            enabled = isServiceBound
        ) {
            Text("3. 开始 Android 相机录像")
        }
        // 按钮 4: 结束 Android 相机录像
        Button(
            onClick = onStopAndroidRecord,
            modifier = Modifier.fillMaxWidth(),
            enabled = isServiceBound
        ) {
            Text("4. 结束 Android 相机录像")
        }
        Divider(modifier = Modifier.padding(vertical = 8.dp))
        // 按钮 5: 开始 USB 相机录像
        Button(
            onClick = onStartUsbRecord,
            modifier = Modifier.fillMaxWidth(),
            enabled = isServiceBound
        ) {
            Text("5. 开始 USB 相机录像")
        }
        // 按钮 6: 结束 USB 相机录像
        Button(
            onClick = onStopUsbRecord,
            modifier = Modifier.fillMaxWidth(),
            enabled = isServiceBound
        ) {
            Text("6. 结束 USB 相机录像")
        }
        Divider(modifier = Modifier.padding(vertical = 8.dp))
        // 按钮 7: 开始 USB 推流
        Button(
            onClick = onStartUsbPush,
            modifier = Modifier.fillMaxWidth(),
            enabled = isServiceBound
        ) {
            Text("7. 开始 USB 推流")
        }
        // 按钮 8: 结束 USB 推流
        Button(
            onClick = onStopUsbPush,
            modifier = Modifier.fillMaxWidth(),
            enabled = isServiceBound
        ) {
            Text("8. 结束 USB 推流")
            Spacer(modifier = Modifier.height(12.dp))
            // 按钮 1: 绑定服务
            Button(
                onClick = onBindService,
                modifier = Modifier.fillMaxWidth(),
                enabled = !isServiceBound
            ) {
                Text("1. 绑定 FloatingService")
            }
            // 按钮 2: 解绑服务
            Button(
                onClick = onUnbindService,
                modifier = Modifier.fillMaxWidth(),
                enabled = isServiceBound
            ) {
                Text("2. 解绑 FloatingService")
            }
            Divider(modifier = Modifier.padding(vertical = 8.dp))
            // 按钮 3: 开始 Android 相机录像
            Button(
                onClick = onStartAndroidRecord,
                modifier = Modifier.fillMaxWidth(),
                enabled = isServiceBound
            ) {
                Text("3. 开始 Android 相机录像")
            }
            // 按钮 4: 结束 Android 相机录像
            Button(
                onClick = onStopAndroidRecord,
                modifier = Modifier.fillMaxWidth(),
                enabled = isServiceBound
            ) {
                Text("4. 结束 Android 相机录像")
            }
            Divider(modifier = Modifier.padding(vertical = 8.dp))
            // 按钮 5: 开始 USB 相机录像
            Button(
                onClick = onStartUsbRecord,
                modifier = Modifier.fillMaxWidth(),
                enabled = isServiceBound
            ) {
                Text("5. 开始 USB 相机录像")
            }
            // 按钮 6: 结束 USB 相机录像
            Button(
                onClick = onStopUsbRecord,
                modifier = Modifier.fillMaxWidth(),
                enabled = isServiceBound
            ) {
                Text("6. 结束 USB 相机录像")
            }
            Divider(modifier = Modifier.padding(vertical = 8.dp))
            // 按钮 7: 开始 USB 推流
            Button(
                onClick = onStartUsbPush,
                modifier = Modifier.fillMaxWidth(),
                enabled = isServiceBound
            ) {
                Text("7. 开始 USB 推流")
            }
            // 按钮 8: 结束 USB 推流
            Button(
                onClick = onStopUsbPush,
                modifier = Modifier.fillMaxWidth(),
                enabled = isServiceBound
            ) {
                Text("8. 结束 USB 推流")
            }
            Spacer(modifier = Modifier.height(12.dp))
        }
    }
}