Je travaille avec un projet pour définir l'image de fond pour toutes les tailles d'écran avec la même image. Comment est-ce possible? Comment définir l'image de fond pour toutes les tailles d'écran dans Android Studio? Comment pouvons-nous mettre le dossier dans drawable?

7
Jincy 24 janv. 2017 à 09:07

4 réponses

Meilleure réponse

Convertissez votre image dans toutes les tailles ci-dessous et collez-la dans un dossier particulier.

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

Sont les meilleures dimensions pour que l'application s'exécute sur tous les appareils.

Référence

7
Amy 24 janv. 2017 à 06:23

Mettez un dossier dessinable simple et collez-y votre image. Ensuite, ouvrez votre styles.xml et collez cette ligne de code.

 <!-- 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>

En utilisant cela, vous n'avez pas à mettre d'images d'arrière-plan dans chaque mise en page.

7
Aman Shekhar 24 janv. 2017 à 06:09

Cette même fonctionnalité a besoin dans mes projets donc dans ce cas, nous avons deux options

1) Mettez l'image dans le dossier res respectif hdpi à xxxhdpi et chargez mais dans ce cas, nous devons conserver toute l'image 7-8 pour un seul élément.

Une autre solution est

2) Rendez le html réactif avec testé sur tous les écrans compatible et placez-le dans le dossier brut dans les actifs et chargez l'URL dans la vue Web, ce qui est identique à la vue d'image si vous avez besoin d'un événement de clic de vue d'image, vous pouvez utiliser l'événement tactile de la vue Web.

Les deux solutions fonctionnent bien plus tôt, nous utilisons la méthode 1, mais maintenant nous passons à la deuxième en raison de la réduction de certains problèmes de mémoire et de gestion. Si vous avez encore des confusions, veuillez demander ...

0
Arpan24x7 24 janv. 2017 à 11:19

Utilisez un ImageView au lieu d'ajouter simplement l'image à l'arrière-plan d'une vue. L'utilisation de la vue image n'étirera pas votre image, mais recadrera simplement la partie non appropriée de l'image. Tout ce travail effectué par la balise scaleType = "centerCrop" .

Voici un exemple de code:

<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
Karun Shrestha 24 janv. 2017 à 07:36