Pourquoi EditText ne se développe pas pour remplir_parent

J'ai écrit un code XML, où je souhaite que le EditText soit étendu pour s'adapter à la largeur parentale. Après avoir passé tellement de temps, je ne trouve pas un moyen d'étendre EditText.

Voici mon XML:

  • Exemple de fonctionnement de l'API Twitter sur Android?
  • Erreur lors de la gonflement de la classe android.support.design.widget.CoordinatorLayout
  • Android JSONObject vs GSON
  • Comment mapper Enum dans GreenDAO
  • L'installation Android de Xamarin échoue
  • Cliquez sur l'élément DrawerLayout - Quand est le bon moment pour remplacer le fragment?
  • <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TableRow android:layout_marginLeft="10dp" android:layout_marginBottom="15dip"> <TextView android:text="Comment" android:layout_width="match_parent" android:textStyle="bold" android:padding="3dip" /> </TableRow> <TableRow android:layout_marginLeft="10dp" android:layout_marginBottom="15dip"> <EditText android:id="@+id/EditText02" android:layout_height="wrap_content" android:lines="5" android:gravity="top|left" android:inputType="textMultiLine" android:scrollHorizontally="false" android:minWidth="10.0dip" android:maxWidth="5.0dip"/> </TableRow> <TableRow android:layout_marginLeft="10dp" android:layout_marginBottom="15dip" android:gravity="center"> <Button android:id="@+id/cancel" android:text="Next" /> </TableRow> </TableLayout> </LinearLayout> 

    Ce que j'ai fait mal ici. Aidez-moi, s'il vous plaît.

  • Comment créer un fichier xml dans Android
  • Android: Comment implémenter Parcelable à mes objets?
  • Genymotion Google Nexus 6P 7.0.0 avec Open_Gapps bras 7.0.0
  • Pourquoi INSERTs et UPDATES sont-ils plus lents sur Android 4.0?
  • Obtenez de la valeur de l'élément sur OnItemClick Listview
  • Remplacer les ressources avec gradle selon buildType
  • 7 Solutions collect form web for “Pourquoi EditText ne se développe pas pour remplir_parent”

    Ajouter un colomn supplémentaire de TextView dans chaque ligne.

    Ce code peut vous aider.

     <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="1" android:orientation="vertical"> <TableRow android:layout_width="fill_parent" android:layout_marginLeft="10dp" android:layout_marginBottom="15dip"> <TextView android:text="" /> <TextView android:text="Comment" android:layout_width="match_parent" android:layout_marginRight="10dp" android:textStyle="bold" android:padding="3dip" /> </TableRow> <TableRow android:layout_marginLeft="10dp" android:layout_marginBottom="15dip"> <TextView android:text="" /> <EditText android:id="@+id/EditText02" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginRight="20dp" android:lines="5" android:gravity="top|left" android:inputType="textMultiLine" android:scrollHorizontally="false" /> </TableRow> <TableRow android:layout_marginLeft="10dp" android:layout_marginBottom="15dip" android:gravity="center"> <TextView android:text="" /> <Button android:id="@+id/cancel" android:layout_marginRight="10dp" android:text="Next" /> </TableRow> </TableLayout> </LinearLayout> 

    Un peu vieux, mais je crois avoir quelque chose à ajouter.

    Je crois que selon la documentation (citée ci-dessous), layout_width et layout_height sont prédéterminés pour tous les enfants TableRow.

    Au lieu de cela, le poids de la disposition peut être utilisé pour déterminer la largeur / hauteur des éléments dans un TableRow. C'est-à-dire, à moins que vous ne souhaitiez configurer la propriété android: ems et lui donner une largeur en fonction de sa taille de police.

    Par exemple:

     <TableRow android:id="@+id/tableRow1" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" > <EditText android:id="@+id/editText1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:hint="@string/place" android:inputType="textPersonName" > <requestFocus /> </EditText> </TableRow> 

    Cela a produit pour moi un édition complète en plein écran dans un TableRow.

    Voici une citation de la documentation de TableRow:

    Les enfants d'un TableRow n'ont pas besoin de spécifier les attributs layout_width et layout_height dans le fichier XML. TableRow applique toujours ces valeurs pour être respectivement MATCH_PARENT et WRAP_CONTENT.

    Le problème est, comme nous le savons, qu'en réalité, cela n'arrive pas. Je soupçonne que layout_width reçoit également "WRAP_CONTENT".

    Veuillez ajouter android:stretchColumns="0" à votre TableLayout

    Je ne sais pas sérieux.

    Vous avez la largeur minimale de votre EditText ( minWidth ) définie plus grande que sa largeur maximale ( maxWidth ), et vous ne lui avez pas attribué l'attribut layout_width (que vous devez définir pour match_parent ).

    Je pense que vous manquez l'attribut d' android:orientation LinearLayout

    Deuxièmement, si ceci est tout ce dont vous avez besoin, vous pouvez éviter d'utiliser un TableLayout et n'utilisez qu'un seul LinearLayout avec android:orientation="vertical" et tous les trois autres éléments.

    Vous pouvez utiliser layout_weight="1" dans edittextview.

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/back" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" -->> change to 0dip android:paddingRight="@dimen/activity_horizontal_margin" -->> change to 0dip android:paddingTop="@dimen/activity_vertical_margin" tools:context=".StartUp" >

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.