gpt4 book ai didi

java - 以编程方式设置 View 的重力

转载 作者:IT老高 更新时间:2023-10-28 20:50:15 26 4
gpt4 key购买 nike

我正在通过 Android 源代码开发 View。我想知道我们如何设置多个重力,自定义 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。那么有没有默认设置重力而不丢失宽度和高度的替代方法?

提前致谢。

最佳答案

由于 com.android.systemui.statusbar.policy.Clock 扩展了 TextView,只需将其转换为 TextView 并设置重力。

 TextView clock = (TextView) mStatusBarView.findViewById(R.id.clock);
clock.setGravity(mCenterClock ? Gravity.CENTER : (Gravity.CENTER_VERTICAL | Gravity.LEFT));

引用:Source code

关于java - 以编程方式设置 View 的重力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10355603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com