2017-06-22 169 views

回答

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教程。

+0

我嘗試了很多方法。我無法做出這個數字。你能在這方面給我啓發嗎? –

+0

默認情況下,你在android drawable的'android:shape'屬性中具有橢圓,圓形,矩形等基本形狀。但它是有限的。你不能使用它來繪製每個形狀。所以你可以做的是,將一個vector或png製成你想要的形狀,並使用自定義drawable的'layer-list'組件將其他項放在它的頂部。我在我的答案中提供了一個鏈接,您可以參考這個鏈接。 –

0

通過創建一個新的可繪製文件,它將描述您想要繪製的小部件的外觀,或多或少。然後,您可以將其設置爲要更改其原始外觀的小部件的背景。如果您想要達到問題中顯示的形狀,我會建議從矩形開始。提拉文件將是這個樣子:

<?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> 

,然後分配部件這一繪製的背景應該做的伎倆,這樣的事情:

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

希望這是有幫助的:d