2017-04-26 35 views
-2

嗨大家請建議我如何創建android xml drawable像下面的圖像?爲Android視圖鑽石形狀xml背景

enter image description here

現在我使用以下代碼

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <rotate 
      android:fromDegrees="45" 
      android:pivotX="-40%" 
      android:pivotY="87%" 
      android:toDegrees="45"> 
      <shape android:shape="rectangle"> 
       <stroke 
        android:width="10dp" 
        android:color="@color/colorAccent" /> 
       <solid android:color="@color/colorAccent" /> 
      </shape> 
     </rotate> 
    </item> 
</layer-list> 

但其結果是三角形,但我需要上述形狀。

+1

你爲此嘗試了什麼。添加你的代碼。 –

+0

最簡單的方法是在ImageButton和display上使用.png。 – Hasnain

+0

感謝您的支持@all – user3068659

回答

3

檢查這一點,

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:left="43dp" 
    android:top="43dp" 
    android:right="43dp" 
    android:bottom="43dp"> 
    <rotate android:fromDegrees="45"> 
     <shape> 
      <size 
       android:width="200dp" 
       android:height="200dp" /> 
      <gradient 
       android:startColor="#0fdcc9" 
       android:endColor="#0fdcc9" /> 
      <stroke 
       android:width="5dp" 
       android:color="#2DACA0" /> 
     </shape> 
    </rotate> 
</item> 

+0

完美答案。只需使用'#66BF9E'值和'#318264'值改變'startColor'和'endColor'的值。 –

+0

這是我使用的解決方案,但您不需要; 會做。 – greeble31

+0

@ greeble31''標籤可用於單一純色,如果我們想要使用多個標籤,我們可以使用''。在這種情況下,我們可以使用''而不是這兩個都可以。 – Archana

0

我固定在本教程 here

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:bottom="43dp" 
     android:left="43dp" 
     android:right="43dp" 
     android:state_pressed="true" 
     android:top="43dp"> 
     <rotate android:fromDegrees="45"> 
      <shape> 
       <size 
        android:width="200dp" 
        android:height="200dp" /> 
       <gradient 
        android:endColor="@color/colorPrimaryDark" 
        android:startColor="@color/colorPrimaryDark" /> 

       <stroke 
        android:width="5dp" 
        android:color="@color/colorPrimary" /> 
       <corners android:radius="7dp" /> 
       <padding 
        android:bottom="10dp" 
        android:left="10dp" 
        android:right="10dp" 
        android:top="10dp" /> 
      </shape> 
     </rotate> 
    </item> 
</layer-list> 
0

這是我的鑽石形狀繪製文件ic_diamond.xml文件。

<?xml version="1.0" encoding="utf-8"?> 
<vector xmlns:android="http://schemas.android.com/apk/res/android" 
android:width="372.7dp" 
android:height="367.4dp" 
android:viewportWidth="372.7" 
android:viewportHeight="367.4"> 

<path 
    android:fillColor="#50AE89" 
    android:strokeColor="#266D4F" 
    android:strokeWidth="5" 
    android:strokeMiterLimit="10" 
    android:pathData="M188.706,51.8702 L318.105,181.269 L183.968,315.406 L54.5691,186.007 
        L188.706,51.8702 Z" /> 
</vector> 

我包括這在簡單視圖:

<View 
    android:layout_width="100dp" 
    android:layout_height="40dp" 
    android:layout_centerInParent="true" 
    android:background="@drawable/ic_diamond" 
    /> 

在這裏,是結果:

enter image description here

+0

你能分享我如何生成此向量圖嗎?我嘗試使用Android工作室,但仍然面臨問題 – user3068659

+0

我只是創建SVG並將其轉換爲矢量。 :D –

-1

這裏是它創建了一個200dp正方形並旋轉它45的可繪製資源°形成鑽石形狀:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:bottom="50dp" 
     android:left="50dp" 
     android:right="50dp" 
     android:top="50dp"> 
     <rotate android:fromDegrees="45"> 
      <shape> 
       <size 
        android:width="200dp" 
        android:height="200dp"/> 
       <stroke 
        android:width="10dp" 
        android:color="#358165"/> 
       <solid android:color="#69BE9E"/> 
      </shape> 
     </rotate> 
    </item> 
</layer-list> 
+1

儘管此代碼可能會回答問題,但提供有關如何解決問題和/或爲何解決問題的其他上下文可以提高答案的長期價值。 – Badacadabra