Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] contenus sur interface graphique Tchat

    10 mai 2013 à 13:05:43

    Salut

    Voila je suis en train de concevoir l'interface graphique d'un chat sur android et je bloque au niveau du placement des contenus je voudrai mettre un grand textview en haut et en bas un editview et a coté de lui un bouton send le problème c'est que j'arrive pas a les placé j'ai lu le tuto sur android du sdz concernant les layout mais j’arrive tjrs pas a placé mes contenus bref voila un aperçu de mon code :

    Classe "Mainactivity.java"

    package com.example.ChatBlueAndroid;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    
    public class MainActivity extends Activity implements OnClickListener {
    	EditText display, writeboard;
    	Button submit;
    
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    
    		initUiElement();
    
    		submit.setOnClickListener(this);
    	}
    
    	private void initUiElement() {
    		display = (EditText) findViewById(R.id.display);
    		writeboard = (EditText) findViewById(R.id.writeboard);
    		submit = (Button) findViewById(R.id.btnsubmit);
    
    	}
    
    	@Override
    	public void onClick(View v) {
    		switch (v.getId()) {
    		case R.id.btnsubmit:
    			display.setText(display.getText().append(writeboard.getText()));
    			writeboard.setText("");
    			break;
    
    		default:
    			break;
    		}
    
    	}
    
    }

    le fichier xml "layout.xml"

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    
        <ScrollView
            android:id="@+id/scroll1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_above="@+id/relative"
            android:layout_alignParentTop="true"
            android:fillViewport="true" >
    
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >
    
                <EditText
                    android:id="@+id/display"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:editable="false"
                    android:focusable="false"
                    android:gravity="top|left" />
            </LinearLayout>
        </ScrollView>
    
        <RelativeLayout
            android:id="@+id/relative"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true" >
    
            <EditText
                android:id="@+id/writeboard"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:focusable="true" />
    
            <requestFocus />
    
            <Button
                android:id="@+id/btnsubmit"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@+id/btnsubmit"
                android:layout_alignParentRight="true"
                android:layout_below="@+id/writeboard"
                android:layout_marginLeft="10dp" 
    android:text="Send" /> </RelativeLayout> </RelativeLayout>

    Pouvez vous m'aider svp ?

    Cordialement


    • Partager sur Facebook
    • Partager sur Twitter

    Android est SKYNET !

      10 mai 2013 à 13:12:56

      Bonjour,

      android:layout_below="@+id/writeboard"

      below veut dire en dessous donc normal qu'il se place en dessous !


      essaye

              <Button
                  android:id="@+id/btnsubmit"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_toRightOf="@+id/writeboard"
                  android:text="Send" />

      Sinon personnellement j'aurais fait comme racine un LinearLayout vertical comme racine, avec comme fils ta scrollView et un autre LinearLayout horizontal (dedans ton editText et ton boutton) et j'aurais mis un poid ta scrollView pour qu'elle prenne le maximum d'espace.

      -
      Edité par twx 10 mai 2013 à 13:15:20

      • Partager sur Facebook
      • Partager sur Twitter
        10 mai 2013 à 13:19:35

        Salut twx

        bah je viens d'essayer et hélas le bouton n'ai plus visible :/

        Merci de ton aide

        • Partager sur Facebook
        • Partager sur Twitter

        Android est SKYNET !

          10 mai 2013 à 13:30:17

          C'est normal la largeur de ton editText est en "fill_parent"
          • Partager sur Facebook
          • Partager sur Twitter
            10 mai 2013 à 13:47:05

            et cmt faire alors pour que les deux contenus (bouton et edittext) ocupent la totalité de la largeur du layout parent et qu'ils s'affichent de façon horizontale en méme temps bien sur ?
            • Partager sur Facebook
            • Partager sur Twitter

            Android est SKYNET !

              10 mai 2013 à 14:24:45

              rajoute un linearLayout horizontal qui engloble tes 2 items, et tu geres avec les poids (weight)

              exemple: 

              <LinearLayout
                   orientation="horizontal"
                   android:layout_width="math_parent"
                   android;layout_below="tascrollview"
                   android:weightSum="1.0" >
                   <EditText
                       android:layout_width="0dp"
                       android:layout_weight="0.7" />
                   <Button
                       android:layout_vidth="0dp"
                       android:layout_weight="0.3" />
              </LinearLayout>

              (C'est fait a l'arrache hien un copier coller va pas marcher mais c'est un exemple)

              -
              Edité par twx 10 mai 2013 à 14:29:00

              • Partager sur Facebook
              • Partager sur Twitter
                10 mai 2013 à 19:08:30

                c bon avec deux ou trois manipulations j'ai pu arriver a ce que je voulais bref maintenant ce que je veux c'est que la barre de défilement se mette automatiquement vers la bas quand il y a un débordement de texte ?

                pourrais tu me montrer quoi mettre comme instruction pour faire ça stp ?

                cordialement

                • Partager sur Facebook
                • Partager sur Twitter

                Android est SKYNET !

                  13 mai 2013 à 10:07:13

                  la barre de défilement, tu parles pour que ta scrollview focus toujours le dernier message ajouté ?
                  • Partager sur Facebook
                  • Partager sur Twitter

                  [Android] contenus sur interface graphique Tchat

                  × 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