2015-11-16 76 views
3

我已經閱讀了幾個教程,但所有我能夠 實現了在一側的邊框,或雙方與 相同的顏色。 我試圖創建一個樣式,將使用不同的顏色和寬度的頂部邊框 ,而不是底部邊框。不同顏色/寬度的Android邊框底部

所以我想要一個2dp的邊框,頂部用藍色 和底部的3dp邊框用紅色表示。

這是我用來在頂部和底部應用邊框的樣式 但我無法更改頂部或底部的顏色。

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <shape 
     android:shape="rectangle"> 
      <stroke android:width="1dp" android:color="#FF000000" /> 
      <solid android:color="#FFDDDDDD" /> 

     </shape> 
    </item> 

    <item android:top="1dp" android:bottom="1dp"> 
     <shape 
     android:shape="rectangle"> 
      <stroke android:width="1dp" android:color="#FFDDDDDD" /> 
      <solid android:color="#00000000" /> 
     </shape> 
    </item> 

</layer-list> 
+0

嗨,這段代碼是非常聰明的黑客,有一些邊界上的差異寬度(你只是在彼此的頂部繪製幾個形狀)。做得好從我的+1 – Sniper

回答

4

這是有點骯髒,但它的作品:)。

圖層名錄繪製:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <!-- TOP STROKE--> 
    <item> 
     <shape android:shape="rectangle"> 
      <solid android:color="@color/top_stroke_color" /> 

     </shape> 
    </item> 
    <!-- BOTTOM STROKE--> 
    <item android:top="@dimen/top_stroke_width"> 
     <shape android:shape="rectangle"> 
      <solid android:color="@color/bottom_stroke_color" /> 
     </shape> 
    </item> 
    <!-- MAIN SHAPE --> 
    <item android:top="@dimen/top_stroke_width" android:bottom="@dimen/bottom_stroke_width"> 
     <shape android:shape="rectangle"> 
      <solid android:color="@color/main" /> 
     </shape> 
    </item> 
</layer-list> 

顏色的定義:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="top_stroke_color">#0000FF</color> 
    <color name="bottom_stroke_color">#FF0000</color> 
    <color name="main">#00FF00</color> 
</resources> 

最後夢詩:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <dimen name="top_stroke_width">10dp</dimen> 
    <dimen name="bottom_stroke_width">20dp</dimen> 
</resources> 

在我的例子中,我有3個矩形設置了正確的「邊距」。我的每個矩形都小於這個,並覆蓋它。根據我的解決方案,你可以爲主要形狀的每一面創建4個不同的筆劃。

+0

感謝它的工作。但我繼續推出另一種解決方案。 – Ryan

相關問題