2011-10-30 12 views
19

मैं रैखिक ढाल के आकार को रैखिक स्तर पर पृष्ठभूमि के रूप में कैसे रख सकता हूं? यहाँ है कि मैं क्या वर्तमान में है:रेडियल ग्रेडियेंट पृष्ठभूमि को कैसे स्थिति दें

आकार:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <gradient 
     android:endColor="#e6e6e6" 
     android:gradientRadius="800" 
     android:startColor="#fafaf9" 
     android:type="radial"/> 
</shape> 

LinearLayout:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/accueil_bg_gradient"> 
</LinearLayout> 

मैं सिर्फ अपनी ढाल स्क्रीन के बाएँ ऊपरी कोने से शुरू, और अंत करना चाहते हैं दाएं कोने पर।

बहुत बहुत धन्यवाद!

+0

आप ढाल के कोण बदलने के लिए 'उपयोग करने के लिए एंड्रॉयड की कोशिश करना चाहते हैं: में angle' < [ढाल] (http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape)> तत्व। – m039

+0

उत्तर के लिए धन्यवाद लेकिन यह एक रेडियल ढाल – alxscms

उत्तर

43

आप drawable "centerX" और ढाल के "centerY" विशेषताओं का उपयोग करने का एक अलग स्थान पर रेडियल ग्रेडिएंट के बीच स्थानांतरित कर सकते हैं। वे 0 से 1.0 तक के एक फ़्लोटिंग पॉइंट मान हैं, (सेंटरएक्स के मान, केंद्र के अनुसार केंद्र) 0,0 ऊपरी बाएं है और 1,1 नीचे दाएं कोने में है।

डिफ़ॉल्ट 0.5,0.5 है जो ड्रॉइंग/असाइन किए गए स्थान के बीच है। एक 100px लंबे (दायरा) के लिए उदाहरण, काले सफेद ढाल जिसका बीच ऊपरी बाएँ कोने पर शुरू होता है होगा:

<shape android:shape="rectangle"> 
     <gradient 
      android:type="radial" 
      android:startColor="#ffffff" 
      android:endColor="#000000" 
      android:gradientRadius="100" 
      android:angle="270" 
      android:centerX="0" 
      android:centerY="0"/> 

    </shape> 
-1

सेट इस पृष्ठभूमि mybackground.xml के रूप में:

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

    <item> 
     <shape android:shape="rectangle" android:layout_width="wrap_content"> 
      <stroke android:width="10dp" android:color="@color/darkBlue" /> 
      <solid android:color="#00000000" /> 
      <padding android:left="1dp" android:top="1dp" android:right="1dp" 
       android:bottom="1dp" /> 
     </shape> 
    </item> 

    <item> 
     <shape android:shape="rectangle"> 
      <gradient android:startColor="@color/grayBlue" 
       android:endColor="@color/lightBlue" android:angle="270" 
       android:centerColor="@color/lightBlue" /> 
      <!-- border width and color --> 
      <stroke android:width="1dp" android:color="#FFDDDDDD" /> 
      <padding android:left="10dp" android:top="8dp" android:right="10dp" 
       android:bottom="8dp" /> 
     </shape> 
    </item> 

</layer-list> 
+0

हाय है, धन्यवाद लेकिन आपने जो कोड दिया है वह एक रैखिक ढाल के लिए है, लेकिन मैं ऊपरी बाएं कोने में केंद्र के साथ एक रेडियल ढाल और दाएं निचले हिस्से में अंत करना चाहता हूं कोना – alxscms

संबंधित मुद्दे