Quel est le truc avec 0dip layout_height ou layouth_width?

Je veux dire pourquoi quelqu'un veut qu'ils considèrent être de taille 0dip? J'ai vu cela plusieurs fois, il doit y avoir une sorte d'astuce, mais je ne l'ai pas compris.

<TextView android:gravity="top" android:textColor="#FFFF0000" android:textSize="20dip" android:text="TextView" android:layout_height="0dip" android:layout_width="fill_parent" android:id="@+id/contactName"></TextView> 

Pourquoi ne pas utiliser par exemple wrap_content? Qu'est-ce qu'ils veulent réaliser?

  • Android: utilisez uniquement des images xxhdpi
  • Comment obtenir des données GPS depuis un téléphone Android?
  • Obtenir le niveau de batterie au widget android
  • Libgdx et Google In-App-Achat résultat
  • L'effet Parallax sur chaque élément dans une vue de recyclage?
  • EditText avec une ligne de texte unique, un emballage de ligne et une action Done?
  • Osx maven exécutant des tests Exception: java.lang.OutOfMemoryError jeté de UncaughtExceptionHandler en thread "main"
  • Android Studio 1.0.1 ajouter des bibliothèques externes
  • Application Android: autorisation SocketException refusée (aucun fichier ou répertoire)
  • Comment afficher la fenêtre pop-up dans Android?
  • Automatisation de l'émulateur et navigateur Android utilisant le script Appium
  • Comment puis-je communiquer avec un appareil Android via SSH?
  • 3 Solutions collect form web for “Quel est le truc avec 0dip layout_height ou layouth_width?”

    Ceci est généralement utilisé lorsque vous avez plusieurs vues à l'intérieur d'une couche linéaire et que vous avez défini Android: layout_weight = "1" pour que les deux vues prennent l'espace égal. par exemple:

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:text="TextView" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:text="TextView" /> </LinearLayout> 

    Dans ce cas, la vue prendra autant de hauteur que toutes les autres vues.

    Ceci est fortement utilisé pour les vues avec LinearLayout . Il existe trois attributs de "mise en page" dont LinearLayout est conscient:

    1. android:layout_height
    2. android:layout_width
    3. android:layout_weight

    Vous pouvez trouver un exemple avec android:layout_weight dans le projet de tutoriel .

    Donc, quand android:layout_weight est utilisé sur View X et LinearLayout est horizontal, alors l' android:layout_width de X android:layout_width est simplement ignoré.

    De façon similaire, lorsque android:layout_weight est utilisé sur View X et LinearLayout est vertical, alors X android:layout_height est ignoré.

    Cela signifie en fait que vous pouvez mettre n'importe quoi dans ces champs ignorés: 0dp ou fill_parent ou wrap_content . Cela n'a pas d'importance. Mais il est recommandé d'utiliser 0dp afin que View ne fassent pas un calcul supplémentaire de leur hauteur ou de leur largeur (ce qui est alors ignoré). Cette petite astuce gagne simplement les cycles CPU.

    L' android:layout_height="0dp" est utilisé dans différents codes car:

    1. Cela signifie que la hauteur de la vue peut être modifiée plus tard en raison d'autres contraintes de mise en page.
    2. C'est une pratique courante et souvent observée dans des dispositions relatives et linéaires.

    par exemple:

     android:layout_height = "0dp" android:layout_weight = "1.0" 

    La hauteur ou la largeur réglée sur "0dp" sont principalement utilisées en combinaison avec "poids". Par exemple, vous souhaitez remplir tous les espaces disponibles pour la hauteur, utilisez le code ci-dessus et, de même, le même cas pour la largeur.

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