Ash*_*tel 4 android floating-action-button material-components android-jetpack material-components-android
E/OpenGLRenderer: resultIndex is -1, the polygon must be invalid!
A/OpenGLRenderer: Error: Spot pair overflow!!! used 38, total 22
A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 11996 (hwuiTask1)
Run Code Online (Sandbox Code Playgroud)
使用 shapeAppearance 属性会导致崩溃。
这是 XML 中的 FAB
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
style="@style/Widget.MaterialComponents.FloatingActionButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/fab_margin"
android:onClick="@{() -> callback.add(viewModel.plant)}"
android:tint="@android:color/white"
app:shapeAppearance="@style/ShapeAppearance.Sunflower.FAB" <--
app:isGone="@{viewModel.isPlanted}"
app:layout_anchor="@id/appbar"
app:layout_anchorGravity="bottom|end"
app:srcCompat="@drawable/ic_plus" />
Run Code Online (Sandbox Code Playgroud)
下面是 shapeAppearance 的样式,
<style name="ShapeAppearance.Sunflower.FAB" parent="ShapeAppearance.MaterialComponents">
<item name="cornerFamily">rounded</item>
<item name="cornerSizeTopLeft">0dp</item>
<item name="cornerSizeTopRight">30dp</item>
<item name="cornerSizeBottomRight">0dp</item>
<item name="cornerSizeBottomLeft">30dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
这解决了崩溃。
<style name="ShapeAppearance.Sunflower.FAB" parent="ShapeAppearance.MaterialComponents">
<item name="cornerFamily">rounded</item>
<item name="cornerSizeTopLeft">0dp</item> <--
<item name="cornerSizeTopRight">0dp</item>
<item name="cornerSizeBottomRight">0dp</item> --
<item name="cornerSizeBottomLeft">0dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我需要知道它背后的原因以及如何在使用相同的角样式时解决它。
使用app:shapeAppearanceOverlay属性:
<com.google.android.material.floatingactionbutton.FloatingActionButton
app:shapeAppearanceOverlay="@style/CustomShapeOVerlay"
/>
Run Code Online (Sandbox Code Playgroud)
并在样式中(未定义parent)
<style name="CustomShapeOVerlay" parent="">
<item name="cornerFamily">rounded</item>
<item name="cornerSizeTopLeft">0dp</item>
<item name="cornerSizeTopRight">30dp</item>
<item name="cornerSizeBottomRight">0dp</item>
<item name="cornerSizeBottomLeft">30dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3305 次 |
| 最近记录: |