Partage
  • Partager sur Facebook
  • Partager sur Twitter

actvity_main.xml n'est pas pris en compte

andriod

Sujet résolu
    13 mars 2013 à 15:54:12

    Bonjour,

    je suis novice, et je viens de commencer les cours d'andriod voila le code d'activity_main.xml

    <RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:paddingTop="50dp"
    android:text="@string/hello_world"
    tools:context=".MainActivity" />
    </RelativeLayout>
    

    et le code main_activity.java est le suivant :

    package com.example.essai_01;
    
    import android.app.Activity;
    import android.graphics.Color;
    import android.os.Bundle;
    import android.widget.TextView;
    
    public class MainActivity extends Activity {
    	
    	private TextView texte =null;
    	private String hello=null;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		hello = getResources().getString(R.string.hello_world).concat("  fgg vite vite");
    		texte = new TextView(this);
    		texte.setText(hello);
    		//texte.setPadding(200, 105, 30, 105);
    		//texte.setTextSize(8);
    		texte.setTextColor(Color.BLUE);
    		setContentView(texte);
    	}
    

    Mon problème est que si j'effectue des modification dans le point java il le prend en considération lors de l’exécution de l'application, mais si je fait sur le .xml il ne l'effectue pas !! par exemple comme le setPadding ou le setColor au niveau du .java il fait le changement de couleurs lors de l’exécution de l'application, mais je les fais au niveau du .xml rien ne change

    Merci pour votre aide


    • Partager sur Facebook
    • Partager sur Twitter
      13 mars 2013 à 17:03:31

      Bonjour,

      Alors pour commencer il n'y a qu'un seul setContentView (le premier dans ton code étant le bon)

      setContentView(R.layout.activity_main);


      C'est tout a fait normal que les modifications ne soit pas prise en compte car tu écrase ton layout xml en faisant setContentView(texte).

      Alors pour commencer il faut mettre un identifiant à ton TextView :

      <TextView
      android:id="@id+/hello"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_centerVertical="true"
      android:paddingTop="50dp"
      android:text="@string/hello_world"
      tools:context=".MainActivity" />

      Ensuite tu peut utiliser un String format (pas obligatoire, mais je trouve cela plus propre).

      Dans ton strings.xml

      Tu remplace :

      <string name="hello_world">Mon texte</string>

      Par :

      <string name="hello_world">Mon texte %s</string>

      Ensuite dans ton activité : 

       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       texte = (TextView) findViewById(R.id.hello);
       texte.setText(String.format(getString(R.string.hello_world), "  fgg vite vite")); 
       //texte.setPadding(200, 105, 30, 105);
       //texte.setTextSize(8);
       texte.setTextColor(Color.BLUE);

      -
      Edité par mikael84 13 mars 2013 à 17:04:20

      • Partager sur Facebook
      • Partager sur Twitter

      actvity_main.xml n'est pas pris en compte

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown