Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将边框变成泡泡动画_Java_Android_Graphics_Border_Drawable - Fatal编程技术网

Java 如何将边框变成泡泡动画

Java 如何将边框变成泡泡动画,java,android,graphics,border,drawable,Java,Android,Graphics,Border,Drawable,所以我想把我的版式的边框改成某种像漫画/卡通片中那样的泡泡。我知道我可以像这样改变我的边界: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle" >

所以我想把我的版式的边框改成某种像漫画/卡通片中那样的泡泡。我知道我可以像这样改变我的边界:

<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape     android:shape="rectangle" >
            <corners  android:radius="5dip" />
            <stroke  android:width="2dip" android:color="@color/white"/>
        </shape>
    </item>
</layer-list>

但是我怎么做尖头部分(看起来像三角形的部分)。我需要用它来指出我点击的内容。
我知道这听起来很奇怪或有趣,但我需要尝试一下。

最简单的选择可能是制作一个看起来像语音泡泡的9块图像。这将允许气泡增长到其内部文本的大小,而不会拉伸或看起来很滑稽

否则,直接绘制它可能会有点复杂-您需要在矩形底部绘制一个类似三角形的对象,可以是XML,也可以创建自定义组件并覆盖绘制方法-复杂得多

9-patch图像用于许多Android GUI组件,如按钮和文本字段-基本上,您只需创建9-patch图像,然后将其设置为组件的背景。这可以在XML中完成


有很多创建9-patch映像的示例,android SDK附带了一个9-patch工具,可以为您提供的任何映像创建9-patch。有关9-patch工具,请参见此链接

最简单的选择可能是制作一个9块的图像,看起来像一个语音泡泡。这将允许气泡增长到其内部文本的大小,而不会拉伸或看起来很滑稽

否则,直接绘制它可能会有点复杂-您需要在矩形底部绘制一个类似三角形的对象,可以是XML,也可以创建自定义组件并覆盖绘制方法-复杂得多

9-patch图像用于许多Android GUI组件,如按钮和文本字段-基本上,您只需创建9-patch图像,然后将其设置为组件的背景。这可以在XML中完成


有很多创建9-patch映像的示例,android SDK附带了一个9-patch工具,可以为您提供的任何映像创建9-patch。有关9-patch工具,请参见此链接

不,你不能那样做。您可以提供笔划角点,但不提供复杂曲线(三角形),对于自定义形状,您可以在onDraw()中使用view和

此路径将使用

canvas.drawPath(路径,绘制)

最好使用
9Patch
概念创建图像


此工具将有助于轻松构建9Patch映像

不,您不能这样做。您可以提供笔划角点,但不提供复杂曲线(三角形),对于自定义形状,您可以在onDraw()中使用view和

此路径将使用

canvas.drawPath(路径,绘制)

最好使用
9Patch
概念创建图像

此工具将帮助轻松构建9Patch图像

我制作了一个列表视图,其中所有项目都显示在语音气球中。请随意下载并使用它。顺便说一句,那灰色的泥浆不是意外;这是源于原始艺术的阴影。正如其他作者所建议的,它使用了9-patch drawable。

我制作了一个列表视图,其中所有项目都显示在语音气球中。请随意下载并使用它。顺便说一句,那灰色的泥浆不是意外;这是源于原始艺术的阴影。正如其他作者所建议的,它使用了9-patch drawable。

看起来不错,但是没有下载链接,所以我可以测试它。你可以在这里同步整个源代码树:或者你可以从这里开始保存单个文件:看起来不错,但是没有下载链接,所以我可以测试它。你可以在这里同步整个源代码树:或者你可以从这里开始保存单个文件:这意味着顶部和左侧的一个始终可以拉伸,底部和右侧的一个始终用于填充?这意味着顶部和左侧的一个始终可以拉伸,而左侧的一个始终可以拉伸底部和右侧总是用于填充?
Path path = new Path();
path.moveTo(160.0f, 240.0f);
path.lineTo(140.0f, 200.0f);
path.addArc(new RectF(140, 180, 180, 220), -180, 180);
path.lineTo(160.0f, 240.0f);
path.close();