问题描述
如何更改 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");
是否也可以设置遥控器按钮的字体?
解决方法
没有办法改变RemoteView中TextView的字体。
要检查可以在 RemoteView 中更改的属性,在您的情况下,只需转到 Button 和 TextView 类并使用注释检查所有方法@android.view.RemotableViewMethod
。如您所见,setTypeface 没有注释,因此无论如何都不能在 RemoteView 中更改