gpt4 book ai didi

android - 通过java为android中的RemoteView设置重力

转载 作者:行者123 更新时间:2023-11-29 01:55:48 26 4
gpt4 key购买 nike

如何在 android 中通过 java 代码设置重力,我有一个像这样的 Remoteview RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);我想通过java代码添加重力。我尝试使用这种方式,但它不成功。

 views.setGravity(Gravity.CENTER);

最佳答案

答案取决于您要对其调用方法的 View 类型。如果是例如一个 LinearLayout,这将完成这项工作:

rv.setInt(R.id.MyView, "setGravity", Gravity.CENTER);

我在 LinearLayout 和 TextView 上对其进行了测试,它确实适用于布局,但不适用于 TextView。所以我的假设是它仅由 ViewGroup 类支持(您可以通过检查 Android 源代码中的 setGravity(int) 方法来自己检查该假设@android.view.RemotableViewMethod 注解)。

因此,如果您想以编程方式更改 TextView 的引力,则需要将 TextView 包装在它自己的 LinearLayout 中,并改为更改 LinearLayout 的引力,例如使用这种布局:

<LinearLayout
android:id="@+id/day_header_title_wrapper"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TextView
android:id="@+id/day_header_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

然后像这样设置重力:

rv.setInt(R.id.day_header_title_wrapper, "setGravity", Gravity.CENTER);

关于android - 通过java为android中的RemoteView设置重力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15243084/

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