Я работаю над исходным кодом View
поверх Android. Мне было интересно, как мы можем настроить несколько гравитаций для пользовательского 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"
/>
Как видите, гравитация по умолчанию — 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
. Так есть ли альтернатива установке гравитации без потери ширины и высоты по умолчанию?
Заранее спасибо.