Mam RelativeLayout taki jak ten:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip">
<Button
android:id="@+id/negativeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dip"
android:textColor="#ffffff"
android:layout_alignParentLeft="true"
android:background="@drawable/black_menu_button"
android:layout_marginLeft="5dip"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"/>
<Button
android:id="@+id/positiveButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dip"
android:textColor="#ffffff"
android:layout_alignParentRight="true"
android:background="@drawable/blue_menu_button"
android:layout_marginRight="5dip"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
Chcę móc programowo ustawić positiveButton
taki sam efekt, jak:
android:layout_centerInParent="true"
Jak mogę to zrobić programowo?
if (rules[CENTER_IN_PARENT] != 0 || rules[CENTER_HORIZONTAL] != 0) {
gdzie0
skutecznie oceniafalse
Aby dodać inny smak z odpowiedzi Reubena, używam go w ten sposób, aby dodać lub usunąć tę regułę zgodnie z warunkiem:
źródło
Zrobiłem dla
1. centerInParent
2. centerHorizontal
3. centerVertical
z prawdą i fałszem .Jak wywołać metodę:
centerInParent - prawda
centerInParent - false
centerHorizontal - true
centerHorizontal - false
centerVertical - prawda
centerVertical - false
Mam nadzieję, że to ci pomoże.
źródło