Установить гравитацию View программно

Я работаю над Viewчерез Android Source Код. Мне было интересно, как мы можем настроить несколько гравитаций для пользовательскогоView

Это XML

<com.android.systemui.statusbar.policy.Clock
        android:id="@+id/clock"
        android:textAppearance="@style/TextAppearance.StatusBar.Clock"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:singleLine="true"
        android:paddingLeft="6dip"
        android:gravity="center_vertical|left"
        />

Как вы видите, гравитация по умолчанию находится в центре _по вертикали|влево, поэтому мой код Java должен быть примерно таким

    View clock = mStatusBarView.findViewById(R.id.clock);

    if (clock != null) {
        SOMEHOW SET GRAVITY -> mCenterClock ? Gravity.CENTER : (Gravity.CENTER_VERTICAL | Gravity.LEFT);
    }

Метод setGravity не работает с View. Итак, есть ли альтернатива установке гравитации без потери ширины и высоты по умолчанию?.

Заранее спасибо.

21
задан kaiz.net 28 April 2012 в 10:17
поделиться