Java 消息气泡自定义绘图
我将分享下面的图片,我想在原生Android中开发我的消息泡泡 我已经用自定义可绘制XML编写了一些代码,请看一看,我将分享图像的外观,首先看代码:Java 消息气泡自定义绘图,java,android,material-components-android,android-shapedrawable,Java,Android,Material Components Android,Android Shapedrawable,我将分享下面的图片,我想在原生Android中开发我的消息泡泡 我已经用自定义可绘制XML编写了一些代码,请看一看,我将分享图像的外观,首先看代码: <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <rotate android:fromDegrees="55" androi
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<rotate
android:fromDegrees="55"
android:pivotX="100%"
android:pivotY="0%"
android:toDegrees="0">
<shape android:shape="rectangle">
<corners android:radius="10dp" />
<solid android:color="#00A1E4" />
</shape>
</rotate>
</item>
<item android:right="28dp">
<shape android:shape="rectangle">
<solid android:color="#00A1E4" />
<corners android:radius="10dp" />
</shape>
</item>
上面的代码如下所示
请帮助我如何制作第一张图片
谢谢您可以使用
ShapeAppearanceModel
将自定义边缘处理
应用于eAxPle aCardView的小部件:
<LinearLayout
android:padding="8dp"
android:clipChildren="false"
android:clipToPadding="false"
...>
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardview"
android:layout_height="100dp"
app:cardCornerRadius="24dp"
app:cardBackgroundColor="@color/..."/>
</LinearLayout>
您还可以自定义扩展EdgeTreatment
并覆盖getEdgePath
方法的边的形状
注意:它至少需要材料组件库的版本1.2.0
val markerEdgeTreatment = MarkerEdgeTreatment(cardview.radius)
val offsetEdgeTreatment = OffsetEdgeTreatment(markerEdgeTreatment, 90f)
cardview.setShapeAppearanceModel(
cardview.getShapeAppearanceModel()
.toBuilder()
.setRightEdge(offsetEdgeTreatment)
.build()
)