使用形状或 9 补丁图像创建聊天气泡
Creating a chat bubble using Shapes or 9-patch image
我正在尝试为我目前正在开发的 android 应用程序中的聊天气泡创建模板。最终结果应如下所示:
我用 Shapes 试过,但我无法正确设置多个图层。我还尝试了一个 9 补丁图像,但创建 9 补丁是我所得到的。我不知道如何使用它,特别是头像、消息 header 和内容放置。
有人能帮忙吗?
我对形状的了解相当有限,不过,我想我知道的足以理解你们会说的话:)
9补丁真的很容易。这是一个很好的教程:Simple Guide to 9 Patch.
只需将扩展名设为 .9.png,而不仅仅是 .png.
将它用作您的 ViewGroup(您的视图容器)的背景,如:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/row"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bubble_left"
android:layout_margin="8dp"
android:padding="8dp"
>
<!-- The User -->
<TextView
android:id="@+id/txtUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
/>
<!-- The Date -->
<TextView
android:id="@+id/txtDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/txtUser"
/>
<!-- The Message -->
<TextView
android:id="@+id/txt2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/txtDate"
/>
</RelativeLayout>
我让你自由选择你想要的图形(符合你的口味,而不是破坏你的乐趣)。
显然,您可能想要为左侧准备一个气泡,为右侧准备一个气泡(或者具有不同颜色角的气泡),并在您的 Java 代码中相应地交换它们。
我正在尝试为我目前正在开发的 android 应用程序中的聊天气泡创建模板。最终结果应如下所示:
我用 Shapes 试过,但我无法正确设置多个图层。我还尝试了一个 9 补丁图像,但创建 9 补丁是我所得到的。我不知道如何使用它,特别是头像、消息 header 和内容放置。
有人能帮忙吗?
我对形状的了解相当有限,不过,我想我知道的足以理解你们会说的话:)
9补丁真的很容易。这是一个很好的教程:Simple Guide to 9 Patch.
只需将扩展名设为 .9.png,而不仅仅是 .png.
将它用作您的 ViewGroup(您的视图容器)的背景,如:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/row"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bubble_left"
android:layout_margin="8dp"
android:padding="8dp"
>
<!-- The User -->
<TextView
android:id="@+id/txtUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
/>
<!-- The Date -->
<TextView
android:id="@+id/txtDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/txtUser"
/>
<!-- The Message -->
<TextView
android:id="@+id/txt2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/txtDate"
/>
</RelativeLayout>
我让你自由选择你想要的图形(符合你的口味,而不是破坏你的乐趣)。
显然,您可能想要为左侧准备一个气泡,为右侧准备一个气泡(或者具有不同颜色角的气泡),并在您的 Java 代码中相应地交换它们。