J'essaie de placer les commandes de zoom de la carte dans le coin inférieur droit de l'écran. Je pourrais le faire avec RelativeLayout en utilisant les deux alignParentBottom="true"
et alignParentRight="true"
, mais avec Framelayout, je n’ai pas trouvé de tels attributs. Comment l'aligner sur le coin inférieur droit de l'écran?
En fait, c'est possible, malgré ce qui est dit dans d'autres réponses. Si vous avez un FrameLayout
et que vous voulez positionner un élément enfant en bas, vous pouvez utiliser Android:layout_gravity="bottom"
et cela va aligner cet enfant au bas de la FrameLayout
.
Je sais que cela fonctionne parce que je l'utilise. Je sais que c'est en retard, mais cela pourrait être utile pour d'autres, puisque cela occupe les premières positions sur Google.
J'ai également rencontré cette situation et compris comment le faire à l'aide de FrameLayout. La sortie suivante est produite par le code donné ci-dessous.
<FrameLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content" >
<ImageView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/contactbook_icon"
Android:layout_gravity="center" />
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="140"
Android:textSize="12dp"
Android:textColor="#FFFFFF"
Android:layout_gravity="bottom|right"
Android:layout_margin="15dp" />
</FrameLayout>
Modifiez la valeur de la marge pour ajuster la position du texte sur l'image. Si vous supprimez la marge, le texte risque parfois de sortir de la vue.
Cela peut être réalisé en utilisant RelativeLayout
<RelativeLayout
Android:layout_width="fill_parent"
Android:layout_height="fill_parent">
<ImageView
Android:src="@drawable/icon"
Android:layout_height="wrap_content"
Android:layout_width="wrap_content"
Android:layout_alignParentRight="true"
Android:layout_alignParentBottom="true" />
</RelativeLayout>
Réglage Android:layout_gravity="bottom|right"
a travaillé pour moi
Deux façons de faire ceci:
1) Utiliser une structure de cadre
Android:layout_gravity="bottom|right"
2) Utiliser une mise en page relative
Android:layout_alignParentRight="true"
Android:layout_alignParentBottom="true"
Android:layout_gravity="bottom"
Si vous voulez essayer avec Java code. Ici vous allez -
final LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
yourView.setLayoutParams(params);
params.gravity = Gravity.BOTTOM; // set gravity
vous pouvez ajouter un TextView invisible à FrameLayout.
<TextView
Android:layout_width="wrap_content"
Android:layout_height="0dp"
Android:layout_weight="1"
Android:visibility="invisible"
/>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="50dp"
Android:orientation="horizontal">
<Button
Android:id="@+id/daily_delete_btn"
Android:layout_width="0dp"
Android:layout_height="50dp"
Android:layout_weight="1"
Android:text="DELETE"
Android:layout_gravity="center"/>
<Button
Android:id="@+id/daily_save_btn"
Android:layout_width="0dp"
Android:layout_height="50dp"
Android:layout_weight="1"
Android:text="SAVE"
Android:layout_gravity="center"/>
</LinearLayout>