Android radial gradient

18,157

Solution 1

if i understand well what you need you have to make layout which referded by drawable

( "match_parent" ) ,

as below :

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:background="@drawable/"your drawable xml name">

hope this help .

Solution 2

A little bit late, but according to docs, you must set "50%p", not "50%". (Note the 'p' which indicates 'parent')

Share:
18,157
Sebastian Nowak
Author by

Sebastian Nowak

Updated on June 04, 2022

Comments

  • Sebastian Nowak
    Sebastian Nowak almost 2 years

    I've got following drawable set as LinearLayout background:

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
       <item>
          <bitmap
             android:tileMode="repeat"
             android:dither="true"
             android:src="@drawable/bg"/>
       </item>
    
    
       <item>
          <shape android:shape="rectangle">
             <gradient
                android:startColor="#ffff0000"
                android:endColor="#ff00ff00"
                android:centerX="50%"
                android:centerY="50%"
                android:gradientRadius="50%"
                android:type="radial"/>
          </shape>
       </item>
    </layer-list>
    

    According to the docs, gradientRadius can be set to percentage of window/parent size. Unfortunetely... it's not working. The radius is 0. What am I doing wrong? Or what's wrong with Android?

    I need the radial gradient to fill the whole screen. What's the workaround?