android 从底角截断视图

piah890a  于 2023-04-10  发布在  Android
关注(0)|答案(1)|浏览(99)

我有一个布局,我想切断其底部的角落,以削减像削减斜线,我已经尝试使用ShapeAppearanceModel,但没有得到理想的结果,我会感谢任何帮助,谢谢

  • 这是我的代码来塑造角落
val shapeAppearanceModel = ShapeAppearanceModel()
            .toBuilder()
            .setBottomRightCorner(CornerFamily.CUT, 36f)
            .build()

        val shapeDrawable = MaterialShapeDrawable(shapeAppearanceModel)
        ViewCompat.setBackground(shapedLayout, shapeDrawable)
  • 这是预期的结果(基本上从底部切断白色布局,而不是黑色布局)

xzlaal3s

xzlaal3s1#

@泷
我通过XML在我的终端进行了一个小的演示,它可以按照你的要求工作。请看看它,让我知道它是否有帮助。

您的布局文件:

<com.google.android.material.imageview.ShapeableImageView
    android:id="@+id/layoutOne"
    android:layout_width="200dp"
    android:layout_height="100dp"
    app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.BottomCornerCut"
    android:background="@color/cardview_dark_background"
    app:layout_constraintStart_toStartOf="@id/glStart"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintEnd_toEndOf="@id/glEnd" />

<com.google.android.material.imageview.ShapeableImageView
    android:id="@+id/layoutTwo"
    android:layout_width="200dp"
    android:layout_height="100dp"
    app:shapeAppearanceOverlay="@style/ShapeAppearanceOverlay.App.TopCornerCut"
    android:background="@color/purple_500"
    app:layout_constraintStart_toStartOf="@id/glStart"
    app:layout_constraintEnd_toEndOf="@id/glEnd"
    app:layout_constraintTop_toBottomOf="@id/layoutOne"/>

您的风格(根据您的要求放置拐角系列和尺寸。):

<style name="ShapeAppearanceOverlay.App.TopCornerCut" parent="">
    <item name="cornerSizeTopRight">25dp</item>
    <item name="cornerFamilyTopRight">cut</item>
</style>

<style name="ShapeAppearanceOverlay.App.BottomCornerCut" parent="">
    <item name="cornerSizeBottomRight">25dp</item>
    <item name="cornerFamilyBottomRight">cut</item>
</style>

输出:

相关问题