android 尖角气泡
时间: 2023-06-30 11:09:29 浏览: 180
Android实现气泡布局/弹窗效果 气泡尖角方向及偏移量可控
要在 Android 中实现尖角气泡,可以使用 Shape Drawable 和 Layer List Drawable。
首先,创建一个 Shape Drawable 来绘制气泡的形状,设置一个圆角和一条尖角线段。这里是一个示例代码:
```xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/white" />
<corners android:radius="8dp" />
<stroke
android:width="1dp"
android:color="#CCCCCC" />
<padding
android:left="8dp"
android:top="8dp"
android:right="8dp"
android:bottom="16dp" />
<size
android:width="120dp"
android:height="56dp" />
<stroke
android:width="2dp"
android:color="#000000" />
<rotate
android:fromDegrees="45"
android:pivotX="50%"
android:pivotY="-50%">
<shape android:shape="line">
<stroke
android:width="2dp"
android:color="#000000" />
<size
android:width="16dp"
android:height="16dp" />
</shape>
</rotate>
</shape>
```
然后,把这个 Shape Drawable 放到一个 Layer List Drawable 中,以便在气泡上方放置一些文本或图像。这里是一个示例代码:
```xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent" />
<size
android:width="120dp"
android:height="56dp" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/white" />
<corners android:radius="8dp" />
</shape>
</item>
<item android:gravity="top|center_horizontal">
<bitmap
android:src="@drawable/ic_launcher"
android:gravity="center" />
</item>
</layer-list>
```
最后,在布局文件中使用这个 Layer List Drawable,设置气泡的位置和大小。这里是一个示例代码:
```xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bubble"
android:layout_alignParentRight="true"
android:layout_marginRight="16dp"
android:layout_marginTop="16dp" />
</RelativeLayout>
```
运行应用程序,你会看到一个带有尖角的气泡在屏幕上。
阅读全文