JessYanCoding / JessYanCoding/AndroidAutoSize

与compose共用时dialog没法适配

Aperta
#353 9 commenti 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
13.7k
Fork
2k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### Environment
- [x] Autosize Version: 1.2.1
- [x] Target Android Version: android 10.0
- [x] Device Model: honor10
- [x] Device Resolution: 2280 * 1080
- [x] Design Size On AndroidManifest: 1400 * 1400

### Bug Description:
我用compose写ui并用autosize进行适配发现dialog无法适配这个怎么解决

### Log:
D/AndroidAutoSize: The com.example.myapplication.MainActivity has been adapted!
MainActivity Info: isBaseOnWidth = true, designWidthInDp = 1400.000000, designWidthInSubunits = 1400.000000, targetDensity = 0.771429, targetScaledDensity = 0.771429, targetDensityDpi = 123, targetXdpi = 0.771429, targetScreenWidthDp = 1400, targetScreenHeightDp = 2722

### Screenshot
![image](https://user-images.githubusercontent.com/29787804/116205323-34445000-a770-11eb-9143-c5d3b203aca0.png)

### Related Code:
```kotlin
@Composable
fun Greeting(name: String) {
Dialog(onDismissRequest = { }) {
// Draw a rectangle shape with rounded corners inside the dialog
Box(
Modifier
.size(1200.dp, 50.dp)
.background(Color.White)
)
}
}
```

### Others:
```kotlin
我发现在包package androidx.compose.ui.window里这,
@Composable
private fun DialogLayout(
modifier: Modifier = Modifier,
content: @Composable () -> Unit
) {
Layout(
content = content,
modifier = modifier
) { measurables, constraints ->
val placeables = measurables.fastMap { it.measure(constraints) }
val width = placeables.fastMaxBy { it.width }?.width ?: constraints.minWidth
val height = placeables.fastMaxBy { it.height }?.height ?: constraints.minHeight
layout(width, height) {
placeables.fastForEach { it.placeRelative(0, 0) }
}
}
}
```
这段代码没有找到我输入的1200.dp

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.