49

Is it possible to draw a shape in xml, and use a png as the background to that shape? I already have the shape (it's a square with rounded corners), and i would like to put a background to that square.

Dorin Rusu
  • 1,095
  • 2
  • 13
  • 26

2 Answers2

93

Yes you can use any shape file as background for any view. This sample create rounded background with white color and black border around the shape.

Sample :

rounded_corner.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <corners
        android:bottomLeftRadius="10dp"
        android:bottomRightRadius="10dp"
        android:topLeftRadius="10dp"
        android:topRightRadius="10dp" />

    <stroke
        android:width="0.5dp"
        android:color="@color/color_grey" />

    <solid android:color="@color/color_white" />

</shape>

u can use this as,

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center_horizontal"
    android:background="@drawable/rounded_corner"
    android:orientation="vertical" >
Padma Kumar
  • 19,893
  • 17
  • 73
  • 130
Drup Desai
  • 995
  • 7
  • 2
1

//try this way this will help you

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/rounded_corner"
        android:padding="2dp"
        android:orientation="vertical" >
<ImageView 
     android:layout_width="wrap_content"
     android:layout_height="wrap_content" 
    android:background="@drawable/yourdrawable />
</LinearLayout>
Padma Kumar
  • 19,893
  • 17
  • 73
  • 130
  • In my blank `Xamarin.Android` project, there's no folder called `drawable` under `Resources`. If i put the shape inside the `mipmap-anydpi-v26` folder, then i can access it and use it properly inside the emulator, but the app crashes on a real divice with the following error : `Binary XML file line #1: Error inflating class`. Any idea on why this might be happening? Read my post [here](https://stackoverflow.com/questions/55583311/xamarin-android-crashes-when-trying-to-load-style-from-resource) – Software Dev Apr 08 '19 at 23:55