2017-10-14 11 views
-1

J'ai un texte d'édition dans lequel j'utilise setText pour charger les données sur un formulaire d'édition. Actuellement, la hauteur editText est fixe et si le texte est plus grand que la hauteur editText je ne peux pas voir le texte complet en une seule fois. Existe-t-il un moyen basé sur le contenu que je peux définir dynamiquement la hauteur d'un EditText.Définir dynamiquement la hauteur d'un EditText en fonction du contenu

Merci d'avance pour votre aide et suggestions

Cordialement R

+1

me montrer votre code xml pour edittext –

Répondre

2

essayez de régler la hauteur du texte d'édition comme suit:

android:layout_height="wrap_content" 
0

Essayez, celui-ci peut aider -:

edittext.getLayoutParams().width=50 

et= (CustomEditText) findViewById(R.id.et); 
    ViewGroup.LayoutParams lp = et.getLayoutParams(); 
    lp.width = 100; 
    lp.height = 100; 
    et.setLayoutParams(lp); 
2

Vous pouvez utiliser ce code pour votre fichier xml:

<EditText 
    android:id="@+id/edtFirstName" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="@string/first_name" 
    android:padding="5dp" 
    android:textColor="@color/black" 
    android:textSize="16sp" /> 

alors que votre texte d'édition contient se fait-il ajustera automatiquement la taille de test.

Ne pas utiliserandroid:singleLine="true" ou android:minLines="1" et android:maxLines="1"

1

Set android:layout_heightwrap_content est la meilleure approche.

La vue doit être suffisamment grande pour contenir son contenu.

utilisation pour DisplayMetricsdynamiquement régler la hauteur d'un EditText.

DisplayMetrics metrics = getResources().getDisplayMetrics(); 

    int DeviceTotalWidth = metrics.widthPixels; 
    int DeviceTotalHeight = metrics.heightPixels; 

Comment?

if(length()>n) // n is your String length 
editTEXT.getLayoutParams().height=DeviceTotalHeight*10/100; 
0

Cela peut vous aider,

En utilisant android:layout_height ="wrap_content" et android:inputType="textMultiLine" sont la meilleure approche

<EditText 
    android:id ="@+id/editText" 
    android:layout_width ="match_parent" 
    android:layout_height ="wrap_content" 
    android:inputType="textMultiLine" 
    android:hint ="Hint" 
    android:scrollHorizontally="false" /> 

Je vous suggère d'utiliser ScrollView comme la mise en page de parent de EditText

Il empêche votre EditText de couper (en dehors de l'écran) de l'écran lorsque vous avez un plus grand text