Using ImageView as background for an Android Layout

拟墨画扇 提交于 2019-12-04 11:41:31

问题


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).


回答1:


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).



来源:https://stackoverflow.com/questions/20928748/using-imageview-as-background-for-an-android-layout

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!