im essayant de possition mon bouton pas exactement dans le centre, mais permet de dire que dans le 2/5 s de la hauteur de l'écran, je cherchais attribut sans succès, alors j'ai essayé cette approcheY at-il un moyen de compenser une vue du centre dans Android?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:padding="20dp" >
<ImageButton
android:id="@+id/flashlight_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_above="@+id/fakeView"
android:background="@null"
android:contentDescription="@string/flashlight_button_description"
android:src="@drawable/freeml_bright" />
<View
android:id="@+id/fakeView"
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_centerInParent="true"
android:background="#FFAABB" />
</RelativeLayout>
mais il ne fonctionne pas , même si je mets une marge sur la fausse vue.
Des idées?
// EDIT //
Merci pour vous réponses sur les gars, attribut de remplissage fonctionne, mais comme il est une grande image et si je veux commencer à 2/5èmes de hauteur de l'écran, il couvre le point central de l'écran, donc si j'utilise l'attribut padding cela fonctionne mais il le repousse du centre et ne lui permet pas de le couvrir. Cependant, je l'ai fait en utilisant la disposition linéaire, que j'ai voulu éviter parce qu'il y a plus de vue en haut et en bas l'un à côté de l'autre de sorte qu'il conduirait à des vues imbriquées utilisant la disposition linéaire. Malheureusement, je pense que c'est la seule option.
Il en fait, il utilise une autre disposition linéaire qui remplit l'espace restant non utilisée par des vues de dessus et en bas avec hauteur = 0DP et poids = 1 et définit sa gravité au centre
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/application_logo_description"
android:src="@drawable/mylight" />
<ImageButton
android:id="@+id/settings_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:background="@null"
android:contentDescription="@string/settings_button_description"
android:src="@drawable/settings_button" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<ImageButton
android:id="@+id/flashlight_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:contentDescription="@string/flashlight_button_description"
android:src="@drawable/flashlight_button_selector" />
<View
android:id="@+id/fakeView"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="60dp"
android:background="#FFAABB" />
</LinearLayout>
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:contentDescription="@string/powered_by_description"
android:src="@drawable/powered_by" />
<ImageButton
android:id="@+id/ad_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:background="@null"
android:contentDescription="@string/ad_button_description"
android:src="@drawable/freeml" />
</LinearLayout>
Merci pour vos commentaires.
Salut, ça fonctionne, mais que je pourrais avoir vous induire en erreur, beacause son une image assez grande dans le ImageButton, donc si je veux pour le faire démarrer dans 2/5s de la hauteur de l'écran, donc il couvre le point central de l'écran. SI j'utilise votre réponse suggérée, il pousse le bouton loin du centre et ne permet pas de le couvrir. – urSus
Hmm, peut-être essayer de remplacer paddingTop avec paddingBottom? –
Oh, en fait, je l'ai mal lu, réglage de remplissage sur la fausse vue centrée ne fonctionne pas du tout. Réglage du rembourrage sur le bouton ci-dessus il suffit de pousser le bouton vers le haut ce qui n'est pas la solution pour moi comme je le veux pour couvrir le point milieu – urSus