设置所有屏幕尺寸的背景图像

时间:2017-01-24 06:07:18

标签: android android-studio background android-xml

我正在使用一个项目为所有屏幕尺寸设置相同图像的背景图像。怎么可能?如何在android studio中为所有屏幕尺寸设置背景图像?我们如何把文件夹放在drawble中? 提前致谢

4 个答案:

答案 0 :(得分:6)

转换所有以下尺寸的图像并将其粘贴到特定文件夹中。

xxxhdpi: 1280x1920 px
xxhdpi: 960x1600 px
xhdpi: 640x960 px
hdpi: 480x800 px
mdpi: 320x480 px
ldpi: 240x320 px

应用的最佳尺寸是否可以在所有设备中运行。

<强> Reference

答案 1 :(得分:5)

放入简单的可绘制文件夹,然后将图像粘贴到那里。然后打开styles.xml,并粘贴这行代码。

 <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorOrange</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:windowBackground">@drawable/yourImage</item>
    </style>

通过使用此功能,您无需在每个布局中放置背景图像。

答案 2 :(得分:3)

使用ImageView而不是仅将图像添加到某个视图的背景中。 使用imageview不会拉伸图像,只是裁剪图像的不适合部分。所有这些工作都由 scaleType =&#34; centerCrop&#34; 标记完成。

以下是示例代码:

<FrameLayout 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:id="@+id/activity_class"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="lpt.com.attendance.ActivityClass.Activity_Class">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:adjustViewBounds="true"
            android:scaleType="centerCrop"
            android:src="@drawable/background" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            //Now this is your main layout to put everything.

        </RelativeLayout>
</FrameLayout>

答案 3 :(得分:0)

在我的项目中需要同样的功能,所以在这种情况下,我们有两个选项

1)将图像放入相应的res文件夹hdpi到xxxhdpi并加载,但在这种情况下,我们必须维护单个项目的所有7-8图像。

另一种解决方案是

2)在所有屏幕兼容的情况下制作响应式html并在资源中放入原始文件夹,并在webview中加载网址,如果您需要图像视图点击事件,则可以使用webview触摸事件。

我们使用方法1之前两种解决方案都工作正常但现在由于减少了一些内存和处理问题,我们继续前进。如果仍然有任何困惑,请问...