IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Mettre un fond d'écran sur son application Android


Sujet :

Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 25
    Points : 12
    Points
    12
    Par défaut Mettre un fond d'écran sur son application Android
    Bonjour, voilà j'ai un problème pour mettre un thème de fond à mon application, et j'espère que vous pourrez m'aider

    Je m'entraine sur une activité test pour l'instant du coup il n'y rien dans mon main.xml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
     
    </RelativeLayout>
    Mon code java pareil:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    package com.lagwil.blabla;
     
    import android.os.Bundle;
    import android.support.v7.app.ActionBarActivity;
    import android.view.Menu;
     
    public class Homepage extends ActionBarActivity {
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_homepage);
    }
     
     
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
     
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.homepage, menu);
            return true;
        }
    }
    Dans mon Manifest j'ai supprimé l'ancien thème parce que je voulais pas de barre noire en haut de l'appli et je l'ai remplacé par MyTheme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.lagwil.blabla"
        android:versionCode="1"
        android:versionName="1.0" >
     
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="19" />
     
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/MyTheme"
            >
            <activity
                android:name="com.lagwil.blabla.Homepage"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
     
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
     
    </manifest>
    où MyTheme est défini dans styles:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" encoding="utf-8"?>
     
    <resources>
    	<style name="MyCustomTheme" parent="android:Theme.Light.NoTitleBar">
     
    	</style>
     
    	<style name="MyTheme" parent="@android:style/Theme.Light.NoTitleBar">
    		<item name="android:windowBackground">@drawable/background_mdpi</item>
    	</style>
     
    </resources>
    j'ai bien mis mon image background_mdpi dans mdpi, mais quand je tente de run l'appli ça ne marche pas et le logcat me met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    06-18 13:07:08.505: E/AndroidRuntime(1277): Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
    Une idée de ce qu'est ce problème? Apres une petite recherche sur le net, j'ai compris qu'il était possible que ça provienne du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extends ActionBarActivity]
    dans le java mais je suis pas sûr.

    Merci d'avance!

    Edit: j'ai réussi à mettre un fond d'écran (enfin!) j'avais fait n'importe quoi... par contre je n'arrive pas à enlever la barre noire avec le nom de l'appli en haut. J'ai changé le thème via l'onglet thème dans le main.xml (graphical layout) j'ai choisi NoTitleBar, il n'y en a pas sur le visuel pourtant elle est toujours là quand je run l'appli.

    Pouvez-vous m'aider svp? Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 273
    Points : 150
    Points
    150
    Par défaut
    si j'ai bien compris, tu a dans ta ActionBarActivity, la ActionBar de appcompat plus la ActionBar avec le nom de l'appli ? c'est ça ?

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    Tu sembles utiliser la libappcompat et comme l'erreur l'indique ton Theme doit dériver de Theme.AppCompat et non pas de Theme.Light
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    J'ai changé en reprenant depuis le début, quand j'ai crée l'appli j'ai choisi holo dark + action bar du coup j'ai ça dans style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <resources>
        <style name="AppBaseTheme" parent="Theme.AppCompat.Light">     
        </style>
     
        <!-- Application theme. -->
        <style name="AppTheme" parent="AppBaseTheme">
            <item name="android:windowBackground">@drawable/background</item>
        </style>
     
    </resources>
    et j'ai crée une actionbar que j'ai séparée en deux avec: android:uiOptions="splitActionBarWhenNarrow" dans le manifest. Donc les items que j'ai défini dans le main apparaissent en bas de l'écran comme je le souhaitais et en haut j'ai une barre noire avec le logo de l'appli et le nom de l'activité.

    Je souhaiterai supprimer cette barre en haut, est-ce possible?

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    Cette barre en haut c'est l'actionbar , si tu la supprime celle du bas disparait aussi puisque c'est le même composant.

    Soit tu n'utilises pas du tout d'actionbar et tu créer un composant spécial pour gérer tes icônes en bas de page.
    Soit tu essais de supprimer la barre supérieure en redéfinissant une vue perso (pas certains que ça fonctionne) avec Actionbar#setCustomView
    Soit tu applique un thème particulier à ton activity qui va réduire la taille de l'actionbar (donc redéfinir son style) jusqu'a ce qu'elle soit invisible.

    Dans tous les cas tu détourne une composant connu de l'UI pour une utilisation un peu spéciale , ce qui risque de dérouté l'utilisateur habitué aux "standards".
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Ok merci, finalement j'ai choisi ta première solution, je n'ai plus d'ActionBar et j'ai fait un "footer" avec des boutons pour remplacer les items

Discussions similaires

  1. Insérer une image locale en fond d'écran sur une page (sans url)
    Par Marc22 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 19/07/2009, 16h11
  2. Image de Fond D'écran sur toute la page
    Par djamess dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 23/02/2009, 00h50
  3. Image en fond d'écran dans une application
    Par skaraa dans le forum Windows Mobile
    Réponses: 5
    Dernier message: 26/10/2007, 11h46
  4. Intégrer un fond d'écran sur dos?
    Par ptitrhumdu73 dans le forum C
    Réponses: 1
    Dernier message: 13/05/2007, 00h32
  5. Fond d'écran sur le thème Access 2003
    Par snoopy69 dans le forum Access
    Réponses: 1
    Dernier message: 15/05/2006, 11h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo