如图所示,我有4个屏幕。所有4个屏幕都实现了广播接收器。我不想一次又一次地重复代码,而是想在第一个屏幕中实现接收器并扫描所有屏幕中的变化。我怎样才能做到这一点?。
另外,我正在为每个活动声明自定义字体。如何全局声明自定义字体?。
答案 0 :(得分:0)
根据要求,您可以执行以下任何操作:
通过清单创建单个全局BR,该清单将根据您的活动流程关闭/打开。使用类似LocalBroadcastReceiver的东西与活动进行通信。
创建一个具有您创建的BR的基本功能的类,而每个活动将以不同的方式使用它。
创建所有活动使用的基本活动,其具有与BR处理相同的功能。
我确信还有其他解决方案。
答案 1 :(得分:0)
而不是一次又一次地重复代码我想 在第一个屏幕中实现接收器并扫描所有的变化 屏幕
我想到的第一个:
基本类可能吗?您可以在基类中动态注册接收器,衍生产品只会接收回调方法。
您可以创建单个主机活动并注册BroadcastReceiver,并且屏幕可能是与此活动相关的碎片,如果我正确理解您的问题,我会这样做。
我为每个活动声明自定义字体。我该怎么说呢 全局自定义字体?。
嗯,有Apple的发明 - 真实字体(TTF) - 有很多网站都有不同类型的。
以下是Mark Murphy关于设置字体的示例 - https://github.com/commonsguy/cw-omnibus/blob/master/Fonts/FontSampler/src/com/commonsware/android/fonts/FontSampler.java
如果你使用支持库,那么@ android-developer建议使用Local BroadcastReceiver是合理的,因为它不会将广播发送到每个应用程序,只能在你的进程中运行。