如何用一些指针边缘绘制椭圆

Posted

技术标签:

【中文标题】如何用一些指针边缘绘制椭圆【英文标题】:How to draw oval with some pointer edge 【发布时间】:2014-10-05 02:41:24 【问题描述】:

我想用一些指向某物的指针来绘制一些椭圆形的东西。如何通过 android 中的形状实现它?

【问题讨论】:

我认为您不能仅使用 shape drawable 来做到这一点,但使用自定义视图和其他可绘制对象您可以轻松做到。 显而易见且简单的方法是使用可绘制资源.. 【参考方案1】:

如果我要做这样的事情,我会使用 IDE 提供的 9patch 绘图工具。但是,在 XML 中,我会定义一个可绘制资源,它可以包含如下代码:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item>
    <shape android:shape="rectangle">
        <size 
            android:
            android: />
        <solid android:color="#5EB888" />
        <corners android:radius="0dp"/>
    </shape>
</item>
<!-- default color for item at the top 5EB888 --> 
<item
    android:top="-40dp"
    android:bottom="65dp"
    android:right="-30dp">
    <rotate
        android:fromDegrees="45">
        <shape android:shape="rectangle">
            <solid android:color="#ffffff" />
        </shape>
    </rotate>
</item>

<item
    android:top="65dp"
    android:bottom="-40dp"
    android:right="-30dp">
    <rotate
        android:fromDegrees="-45">
        <shape android:shape="rectangle">
            <solid android:color="#ffffff" />
        </shape>
    </rotate>
</item>

</layer-list>

只需将此可绘制对象用作小部件的背景,您将获得一个尖头矩形。在您的情况下,您需要一个椭圆形。您可以根据自己的喜好切换形状和调整大小。希望这可以帮助。 将此代码应用于按钮小部件后,您使用此代码获得的结果如下所示:

更多关于 ListLayer xml 元素here

【讨论】:

以上是关于如何用一些指针边缘绘制椭圆的主要内容,如果未能解决你的问题,请参考以下文章

如何用椭圆类绘制圆扇形?

android中,如何用canvas绘制透明?

用场景中的特定点绘制椭圆

如何用PS制作花型背景图

如何用networkx绘制社区

如何用几何画板画60度角