设置activity的背景样式,样式里面有颜色和一张图片,代码怎么实现?

要在drawable文件中创建一个包含颜色和图片的Activity背景样式,可以创建一个新的XML文件,然后使用<layer-list>元素组合颜色和图片。以下是如何实现这个效果的步骤:

  1. res/drawable 文件夹下,创建一个新的XML文件,例如 activity_background.xml

  2. activity_background.xml 文件中,添加以下代码:

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:shape="rectangle">
                <solid android:color="@color/your_background_color" />
            </shape>
        </item>
        <item>
            <bitmap
                android:src="@drawable/your_image"
                android:tileMode="disabled"
                android:gravity="center" />
        </item>
    </layer-list>
    

    在这里,你可以将 @color/your_background_color 替换为你需要的背景颜色,将 @drawable/your_image 替换为你需要的图片资源。

  3. 接下来,在你的Activity布局XML文件中,将 activity_background.xml 设置为根布局的背景。例如:
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/activity_background">
    
        <!-- Your other views go here -->
    
    </RelativeLayout>
    

    现在,你的Activity应该具有包含颜色和图片的背景样式了。请注意,你可能需要根据你的需求调整其他布局和视图属性。

  4. 最后,解释一下<shape android:shape="rectangle">  和 android:tileMode="disabled" 这两行代码的含义:

这两行代码分别表示:

  1. <shape android:shape="rectangle">:这行代码定义了一个形状元素,它是一个矩形。在Android中,可以使用<shape>元素来创建具有不同形状、颜色、边框和渐变的图形。在这个例子中,我们使用一个矩形作为背景的基础形状。

  2. android:tileMode="disabled":这个属性用于<bitmap>元素,它定义了当图片小于视图的大小时,图片如何铺满视图。disabled表示图片不会被平铺或重复,而是保持原始大小和位置。这通常与android:gravity属性一起使用,以确定图片在视图中的位置。在这个例子中,我们将图片置于视图的中心,并禁用平铺模式,这意味着图片将保持其原始大小,并位于背景的中心位置。

android:tileMode 是一个属性,用于指定 BitmapDrawable 的平铺模式。它可以应用于 <bitmap> 元素的 Drawable XML 中,用于设置背景图片的平铺方式。android:tileMode 有以下几个参数:

  1. disabled:平铺功能被禁用,图片不会重复。如果图片的尺寸小于视图的尺寸,图片会被拉伸以适应视图的尺寸。

  2. clamp:图片会被拉伸以适应视图的尺寸,但边缘像素会被拉伸以填充剩余空间。这样就不会出现明显的重复图片的边界。

  3. repeat:图片会在水平和垂直方向上无缝平铺,直至填满整个视图。如果图片的尺寸无法整除视图尺寸,那么图片会在边缘处截断。

  4. mirror:与 repeat 类似,但每个重复的图片都会镜像翻转。这意味着,每个重复的图片都会与其相邻的图片相反方向排列,从而创建一种镜像效果。

有什么疑问,欢迎留言讨论。主页有更多文章,看看有没有能帮助到你的吧~

猜你喜欢

转载自blog.csdn.net/Waterme10n/article/details/130574479