Görünümlerimden yalnızca birini göreli bir düzende ortalamaya çalışıyorum. Aşağıdaki kodu kullanıyorum:layout_gravity Görünümümü dikey olarak ortalamıyor
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.21"
android:id="@+id/atm_map_legend_view">
<ImageButton
android:id="@+id/atm_icon_legend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:gravity="center_vertical"
android:layout_marginRight="10dp"
android:background="@null"
android:src="@drawable/help_icon"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/icon_legend_point"
android:src="@drawable/blurb_point_down"
android:layout_alignParentTop="true"
android:layout_alignLeft="@+id/atm_icon_legend"
android:layout_marginLeft="6dp"
android:visibility="invisible"/>
</RelativeLayout>
Bu şu sonuç alır:
Gördüğünüz gibi
,ImageButton
dikey merkezleme değildir.
android:gravity
eser kullanarak, ama bu açılır (Bu
ImageButton
ile örtüşen, aşağı hareket etmesine neden olur.)
Herhangi bir fikir bu neden benim ImageButton
ortalama olmadığı için zaman sonra ImageView
uğraşamaz?
'sadece FrameLayout'' dayanmaktadır bir 'FrameLayout' veya diğer düzenleri çalışır, bir' RelativeLayout' çalışmaz layout_gravity'. 'RelativeLayout' farklı öznitelikleri kullanır, bu durumda boolean 'true' veya' false' değerini bekleyen 'layout_centerVertical'ı ararsınız. –