使用新的设计库有几个新的布局,如果开发人员愿意,可以改变工具栏的行为方式.由于不同的片段具有不同的行为和目标,例如,具有折叠工具栏的画廊片段显示重要照片,或者没有滚动视图的片段,不需要appbarlayout来隐藏工具栏,在活动中具有单个工具栏可以证明很难.
那么,我应该将工具栏移动到每个片段吗?如果是这样,我每次显示片段时都必须设置supportActionBar,并且还要在片段中引用活动,这会使片段的独立性无效.如果我单独将Activity放在Activity中,我必须为每个片段中的每种行为定义多个布局.什么是最好的方法?
android android-fragments android-activity android-actionbar
是onCreateOptionsMenu()之前或之后的操作栏的所谓onStart()活动?
我有一个应用程序,可以分页大文本,并为每个单词或句子设置多个跨度.我正在使用ReplacementSpan为每个单词绘制背景.我不能使用BackgroundSpan,因为它太简单了,不能让我控制画布.由于ReplacementSpan扩展了MetricAffectingSpan,它影响了文本的布局,完全打破了我的分页.我正在使用StaticLayout来计算每个页面的文本,而StaticLayout不允许跨越,因此它可以计算跨越大小影响的先验.
ReplacementSpan有替代品吗?如何在不影响文本大小和布局的情况下绘制我想要的背景?
这是我的replacementspan的代码:
public class BackgroundColorWithoutLineHeightSpan extends ReplacementSpan {
private static final float DP_ACTIVE = ViewsUtils.dpToPx(4);
private static final int DP_OUTSIDE_PADDING = (int) ViewsUtils.dpToPx(6);
private static final float DP_PHRASE = ViewsUtils.dpToPx(4);
private static final float DP_ROUNDED = ViewsUtils.dpToPx(3);
private final int mColor;
private final int mTextHeight;
private int mBorderColor;
private boolean mIsSelected;
private boolean mIsPhrase;
public BackgroundColorWithoutLineHeightSpan(int color, int textHeight, boolean isPhrase) {
mColor = color;
mTextHeight = textHeight;
mIsPhrase = isPhrase;
}
public BackgroundColorWithoutLineHeightSpan(int color, int textHeight, boolean isSelected, …Run Code Online (Sandbox Code Playgroud) 我有几个页面浏览量,每个都有一个webview.所有参考文献都很强.除了使用webview scrollview并设置其委托外,一切正常.我用它来听滚动事件.
设置webview.scrollview的委托并弹出当前视图时,会发生这种情况:
objc[37721]: Cannot form weak reference to
instance (0x7fb988fe2800) of class WebViewPageController.
It is possible that this object was over-released,
or is in the process of deallocation.
Run Code Online (Sandbox Code Playgroud)
我在XCode的堆栈跟踪中注意到这发生在:
WKWebView dealloc
WKWebView _updateDelegate
UIScrollView setDelegate
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能解决这个问题?这在使用UIWebView时运行良好,但现在升级到WKWebView会发生这种情况.是否有一种新的方式来收听滚动事件?