Using ImageView as background for an Android Layout
android, android-background, android-imageview, android-layout, android-xml
Solution
I did it thusly using a RelativeLayout as the parent:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#000000" >
<ImageView
style="@style/BackGroundImageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="42dp"
tools:ignore="ContentDescription" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical" >
<!--Rest of widgets......-->
</LinearLayout>
</RelativeLayout>
My Style for it:
<style name="BackGroundImageView">
<item name="android:alpha">0.5</item>
<item name="android:scaleType">fitXY</item>
<item name="android:src">@drawable/img_background</item>
</style>
I used a style, because the alpha setting doesn't work on lower APIs (can't remember what the limit is offhand).
Problem
I want to take advantage of the scaleType property, which I cannot use if I set my image using the background property on the `LinearLayout`. I've tried using a `LinearLayout` with 2 children: the first is an `ImageView` (for the background image) and the second child is another `LinearLayout` containing `TextViews`, Buttons, etc. But the result is just the image followed by the other views. Is it possible to float the nested `LinearLayout` over the `ImageView` somehow? I know that there's lots of variations on this question around, but I haven't found anything that's helped me yet. If I've missed something, please point me in that direction. Also, I'd like to do this in XML if possible, and I'm flexible about what type of layout I can use (it doesn't have to Linear).