Android - Contrôle EditText

Un EditText est une superposition sur TextView qui se configure pour être modifiable. Il s'agit de la sous-classe prédéfinie de TextView qui comprend de riches capacités d'édition.

Styles de texte d'édition

Attributs EditText

Voici les attributs importants liés au contrôle EditText. Vous pouvez consulter la documentation officielle d'Android pour obtenir la liste complète des attributs et des méthodes associées que vous pouvez utiliser pour modifier ces attributs au moment de l'exécution.

Hérité de android.widget.TextView Classe -

Sr. Non Attribut et description
1

android:autoText

S'il est défini, spécifie que ce TextView a une méthode de saisie textuelle et corrige automatiquement certaines fautes d'orthographe courantes.

2

android:drawableBottom

C'est le dessin à dessiner sous le texte.

3

android:drawableRight

C'est le dessin à dessiner à droite du texte.

4

android:editable

S'il est défini, spécifie que ce TextView a une méthode d'entrée.

5

android:text

C'est le texte à afficher.

Hérité de android.view.View Classe -

Sr. Non Attribut et description
1

android:background

Il s'agit d'un dessin à utiliser comme arrière-plan.

2

android:contentDescription

Cela définit le texte qui décrit brièvement le contenu de la vue.

3

android:id

Cela fournit un nom d'identifiant pour cette vue.

4

android:onClick

Il s'agit du nom de la méthode dans le contexte de cette vue à invoquer lorsque l'utilisateur clique sur la vue.

5 android:visibility

Cela contrôle la visibilité initiale de la vue.

Exemple

Cet exemple vous guidera à travers des étapes simples pour montrer comment créer votre propre application Android à l'aide de Linear Layout et EditText.

Étape La description
1 Vous utiliserez l'IDE de studio Android pour créer une application Android et la nommerez comme démo sous un package com.example.demo comme expliqué dans le chapitre Exemple de Hello World .
2 Modifiez le fichier src / MainActivity.java pour ajouter un événement de clic.
3 Modifiez le contenu par défaut du fichier res / layout / activity_main.xml pour inclure le contrôle de l'interface utilisateur Android.
4 Définir requises constantes de chaîne nécessaires dans res / valeurs / strings.xml fichier
5 Exécutez l'application pour lancer l'émulateur Android et vérifier le résultat des modifications effectuées dans l'application.

Voici le contenu du fichier d'activité principal modifié src/com.example.demo/MainActivity.java. Ce fichier peut inclure chacune des méthodes fondamentales du cycle de vie.

package com.example.demo;

import android.os.Bundle;
import android.app.Activity;

import android.view.View;
import android.view.View.OnClickListener;

import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
   EditText eText;
   Button btn;
   
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      eText = (EditText) findViewById(R.id.edittext);
      btn = (Button) findViewById(R.id.button);
      btn.setOnClickListener(new OnClickListener() {
         public void onClick(View v) {
            String str = eText.getText().toString();
            Toast msg = Toast.makeText(getBaseContext(),str,Toast.LENGTH_LONG);
            msg.show();
         }
      });
   }
}

Voici le contenu de res/layout/activity_main.xml fichier -

<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"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity" >
   
   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentLeft="true"
      android:layout_alignParentTop="true"
      android:layout_marginLeft="14dp"
      android:layout_marginTop="18dp"
      android:text="@string/example_edittext" />
      
   <Button
      android:id="@+id/button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/textView1"
      android:layout_below="@+id/textView1"
      android:layout_marginTop="130dp"
      android:text="@string/show_the_text" />
      
   <EditText
      android:id="@+id/edittext"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_alignLeft="@+id/button"
      android:layout_below="@+id/textView1"
      android:layout_marginTop="61dp"
      android:ems="10"
      android:text="@string/enter_text" android:inputType="text" />

</RelativeLayout>

Voici le contenu de res/values/strings.xml pour définir ces nouvelles constantes -

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">demo</string>
   <string name="example_edittext">Example showing EditText</string>
   <string name="show_the_text">Show the Text</string>
   <string name="enter_text">text changes</string>
</resources>

Voici le contenu par défaut de AndroidManifest.xml -

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.demo" >
      
   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.demo.MainActivity"
         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>

Essayons d'exécuter votre demoapplication. Je suppose que vous avez créé votreAVDlors de la configuration de l'environnement. Pour exécuter l'application à partir du studio Android, ouvrez l'un des fichiers d'activité de votre projet et cliquez sur l' icône Exécuter dans la barre d'outils. Android Studio installe l'application sur votre AVD et la démarre et si tout va bien avec votre configuration et votre application, elle affichera la fenêtre Emulator suivante -

Exercice

Je recommanderai d'essayer l'exemple ci-dessus avec différents attributs de EditText dans le fichier XML de mise en page ainsi qu'au moment de la programmation pour avoir une apparence différente de EditText. Essayez de le rendre modifiable, changez la couleur de la police, la famille de police, la largeur, la taille du texte, etc. et voyez le résultat. Vous pouvez également essayer l'exemple ci-dessus avec plusieurs contrôles EditText dans une seule activité.