如何使用xml(Android)中的可绘制形状绘制半椭圆形状

时间:2017-06-22 17:01:49

标签: android android-layout view android-drawable

Android Layout of Oval Shape

我对在Android中创建UI的这个问题感到震惊。我需要一个基于xml的解决方案来解决这个问题。我不想使用任何SVG或PNG图像来实现解决方案。有没有办法在android中实现这个视图。

2 个答案:

答案 0 :(得分:0)

您应该使用xml的<layer-list>元素来绘制这样的UI。 以下代码将用于创建椭圆形:

<shape android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#AAAAAA"></solid>
<size android:height="100dp"
    android:width="60dp">
</size>

这导致以下形状:

enter image description here

一旦你知道如何使用xml绘制椭圆形状。现在,下一步是学习如何使用<layer-list>来实现所需的输出。要使用<layer-list>学习,您可以按照this教程。

答案 1 :(得分:0)

通过创建一个新的可绘制文件来描述您想要绘制的小部件的外观,或多或少。然后您可以将其设置为要更改其原始外观的小部件的背景。如果你想达到你问题中显示的形状,我建议从矩形开始。 drawable文件看起来像这样:

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

    <solid
        android:color="#000"/>

    <corners android:radius="150dp"/> <!-- The value here should specify How much ovally you want shape be -->
</shape>

然后将窗口小部件的背景分配给这个drawable应该可以做到这一点,如下所示:

 <LinearLayout
    android:background="@drawable/oval">

希望这有用:D