Question

J'ai une image dans les 3 dossiers res / drawable-hdpi / mdpi / LDPI 600 * 600 en résolution) et j'ai ce fichier XML pour afficher un textview et l'image:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/sipLabel"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  />
  <ImageView android:id="@+id/connected" android:src="@drawable/connected" android:layout_below="@id/sipLabel" 
  android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_weight="0.35" android:gravity="center" 
         />
        </LinearLayout>

Qu'est-ce que le problème pourrait br? Nous vous remercions de votre aide.

Était-ce utile?

La solution

La question principale est votre premier mot dans le LinearLayout:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/sipLabel"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  />

Depuis layout_height est réglé sur fill_parent ce TextView remplit le LinearLayout verticalement, ne laissant aucune place à l'image. Essayez de changer layout_height à wrap_content.

En outre, deux autres choses:

  • Vous utilisez android:layout_below="@id/sipLabel", mais cela ne fonctionne que dans un RelativeLayout. Donc, cet attribut est ignoré en silence.
  • Alors que vous pouvez choisir layout_weight que vous voulez, 0.35 est assez arbitraire. Comme il est le seul enfant dans le LinearLayout avec le poids, il recevra tout l'espace vertical supplémentaire.
  • Vous n'avez pas besoin d'inclure la xmlns:android="http://schemas.android.com/apk/res/android" sur votre étiquette TextView.

Autres conseils

Je pense que layout_below applique seulement pour RelativeLayouts. En outre, que layout_weight="0.35" semble suspect puissant, je ne pense pas que cela signifie ce que vous pensez que cela signifie. Je pense qu'il doit avoir une valeur entière.

Étant donné que votre TextView a une hauteur de fill-parent et le LinearLayout ne défile pas (sauf si est mis dans un ScrollView vous ne pouvez pas voir les parties inférieures), votre TextView prend tout l'écran de l'activité, et l'être ImageView sous ce n'est pas visible.

Vous pouvez

  • mettre toute votre LinearLayout en ScrollView et défilement vers le bas pour voir votre image ou
  • si votre objectif est de montrer l'image au le bas de l'écran, et la toute la place au-dessus doivent être prises le TextView, alors `RelativeLayout serait le meilleur option.

Mise à jour un travail RelativeLayout Soulution serait

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <TextView android:id="@+id/sipLabel" android:text="@string/loremipsum1"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_alignParentTop="true" />
    <ImageView android:id="@+id/connected" android:src="@drawable/connected"
        android:layout_width="wrap_content" android:layout_height="wrap_content" 
        android:layout_below="@id/sipLabel" android:layout_alignParentBottom="true" />
</RelativeLayout>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top