J'ai ce bloc imageview à l'intérieur d'une mise en page relative:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/excusescreen" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/woodbg"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/imlateTopBar" android:layout_width="fill_parent" android:layout_height="44dip" android:background="@drawable/topandbottombars" android:layout_alignParentTop="true" > <ImageView android:id="@+id/excHomeBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dip" android:layout_marginTop="7dip" android:src="@drawable/catexcusehomebtn" > </ImageView> <ImageView android:id="@+id/excBackToCatsBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dip" android:layout_marginTop="7dip" android:src="@drawable/backtocats" > </ImageView> </LinearLayout> <ViewFlipper android:id="@+id/excuses" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="50dip" > </ViewFlipper> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/imlateTopBar" android:layout_width="fill_parent" android:layout_height="44dip" android:background="@drawable/topandbottombars" android:layout_alignParentBottom="true" > <ImageView android:id="@+id/emailItBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dip" android:layout_marginTop="7dip" android:src="@drawable/emailit" > </ImageView> <TextView android:id="@+id/numExcusesText" android:layout_width="100dip" android:layout_height="30dip" android:layout_marginLeft="5dip" android:layout_marginTop="7dip" android:textColor="#66ffffff" android:gravity="center" android:textSize="18dip" android:textStyle="bold" android:text="1/13" > </TextView> <ImageView android:id="@+id/shareItBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dip" android:layout_marginTop="7dip" android:src="@drawable/shareit" > </ImageView> </LinearLayout> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginBottom="50dip" android:layout_marginLeft="81dip" android:src="@drawable/swipehelp" /> </RelativeLayout>
5 Réponses :
C'était la même chose pour Android 1.6 pour moi jusqu'à ce que je changeais le apparemment, il ne peut pas obtenir les limites Correct lorsque vous paramètre à layout_height code> sur
Fill_Parent CODE> sur le "relativation"
wrap_content code>. S'il n'y a pas de raison particulière pour avoir la largeur code> relativenelayout Code> S Largeur et la hauteur pour envelopper son contenu, je dirais-le comme ça. P>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/excusescreen"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/woodbg"
android:clipChildren="true">
<!-- all the other stuff -->
</RelativeLayout>
Merci pour le conseil. Essayé, et toujours pas de chance cependant :-(
Pourriez-vous publier le Woodbg Diable?
OK, alors après avoir trouvé un lien avec cette question qui remonte à 09, mais les commentaires de 2010 montrent beaucoup de problèmes avec Alignparentbottom en 2.2. http://code.google.com/p/android/issues/detail ? Id = 1394
Donc, j'ai fait une solution de contournement en mettant tout ce qui est dans un Framelayout et faisais l'imageView un enfant de cela en dehors de mon relativation et placé avec la licête_gravité. Cela a fait l'affaire et a fait travailler dans toutes les versions. Voici le code final: p>
J'ai le problème dans un Framelayout, à l'aide de layout_gravity = bas est la chose qui semble le faire fonctionner, mais l'ensemble de la vue (s'il s'agit de remplir_parent ou que le parent est enveloppé) est recadré / déplacé vers le haut au lieu d'être redimensionné :( , comme si la taille était calculée avant les marges.
dans le framelayout code> Ajouter un
Voir CODE> avec les suivants:
android:layout_above="@+id/gap"
Si vous ne voulez pas ajouter une vue supplémentaire, vous pouvez utiliser un INSETDRAWABLE avec Android: INSETTBOTTOM CODE> SET. P>
Nous avions le même problème et utilisé une linearlayout positionné avec parentbottom, ce qui donne un rembourrage et mettez l'image / la touche / la vue à l'intérieur. En utilisant une marge sur la cible au lieu d'un rembourrage sur les œuvres linéarlayout aussi bien BTW. P>
Dans quel conteneur est l'imageView dans?
Voir mon édition pour le conteneur.
Il s'appuie juste juste pour moi. Quelle est la taille du woodbg digue?
C'est 320x455. C'est étrange. Je ne suis tout simplement pas sûr de la raison pour laquelle cela déposait les choses correctement en 1.6 mais pas 2.2
Voir Modifier 2 pour le code de mise en page complet.