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

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

【问题讨论】:

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

标签: android android-shape


【解决方案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:width="100dp"
            android:height="100dp" />
        <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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-04
    • 1970-01-01
    相关资源
    最近更新 更多