首页 > 解决方案 > 如何更改 Android 小部件 RemoteViews 中按钮的字体/字样?

问题描述

如何更改 Android 小部件中按钮的字体/字样?使用普通视图时,这没问题:

// Within the app
Button myButton = (Button)rootView.findViewById(R.id.myAppButton);
myButton.setTypeface(someTypeface);

但是,在使用小部件时,不能直接访问视图,只能通过以下方式访问RemoteViews

// Widget
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widgetContent);
remoteViews.setTextViewText(R.id.myWidgetButton, "Some Text");

是否也可以设置远程按钮的字体?

标签: androidwidgetandroid-remoteview

解决方案


无法更改RemoteView中TextView的字体。

要检查可以在RemoteView中更改的属性,在您的情况下,只需转到ButtonTextView类并检查所有带有 annotation 的方法@android.view.RemotableViewMethod。如您所见,setTypeface没有注解,因此在RemoteView中无论如何都无法更改


推荐阅读