我很好奇BottomSheetDialog它被解雇时的行为:当用户向下拖动它以隐藏它时,它将保持隐藏,即使bottomSheetDialog#show()被调用.这仅在拖动时发生,而不是在用户触摸外部或bottomSheetDialog#dismiss()以编程方式调用时发生.
这真的很烦人,因为我内部有一个非常大bottomSheetDialog的回收视图,每次我想展示它时我都要创建一个新的bottomSheetDialog.
所以不要只是这样做:
if(bottomSheetDialog != null){
bottomSheetDialog.show();
else{
createNewBottomSheetDialog();
}
Run Code Online (Sandbox Code Playgroud)
我每次都要创建一个.
我错过了什么或者这是正常行为吗?(顺便说一句,我用appcompat-v7:23.2.1)
我正在使用HERE SDK开发一个应用程序,到目前为止一切正常.我得到像这样的错误:
Fatal signal 11 (SIGSEGV), code 1, fault addr 0x750057 in tid 10206 (FinalizerDaemon)
或者这个:
Fatal signal 11 (SIGSEGV), code 1, fault addr 0x94789680 in tid 24605 (FinalizerDaemon)
他们让我的应用程序崩溃.
它并不总是相同的错误,但它们总是在我的Logcat中独自出现,没有其他信息.
在我的所有应用程序中,我使用HERE对象和服务,甚至通过打印堆栈跟踪我没有获得有关错误的更多信息.
我只是注意到这些错误几乎是随机出现的,但只有在我使用这些对象/服务时才会出现.
我用一个真实的设备测试我的应用程序,索尼Xperia Z3紧凑型,所以我不认为它来自这里.
我真的迷路了,所以如果有人对如何获得有关错误的更多信息有任何想法,请帮忙
编辑:
05-09 23:04:10.148 6770-6782/? A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x4 in tid 6782 (FinalizerDaemon)
05-09 23:04:10.266 30179-30179/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
05-09 23:04:10.266 30179-30179/? I/DEBUG: UUID: 5569a1b9-c913-4101-99fa-5099e2cadd48 …Run Code Online (Sandbox Code Playgroud) 我用android:background="?attr/selectableItemBackground"一个LinearLayout(充当一个按钮),以获得连锁反应。button单击此按钮时,当前活动将在过渡期间向左滑动。问题是涟漪效应需要一些时间来触发,当它变得可见时,活动转换已经开始,这使得触摸反馈的使用完全无用。我不想在活动转换中添加延迟,那将是愚蠢的 IMO。
XML 文件如下所示:
<android.support.v7.widget.CardView>
<LinearLayout
android:clickable="true"
android:background="?attr/selectableItemBackground"/>
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
我怎样才能使涟漪效应变得有用和可见?
我想将视图放置在的外部,ConstraintLayout以使用滑动动画对其进行动画处理。我尝试过设置约束,例如,constraintBottom_toTopOf="parent"但View停留在容器内。
请注意,我想通过使用内置动画而不是代码内动画的约束来实现这一目标。
知道我该怎么做吗?
我正在使用compile 'com.android.support.constraint:constraint-layout:1.1.0-beta1'
Android Studio 3.0 Beta 7
这是一个简单的xml文件,应将视图放置在容器之外:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@color/colorAccent">
<View
android:layout_width="50dp"
android:layout_height="50dp"
android:background="@color/colorPrimary"
app:layout_constraintBottom_toTopOf="parent"/>
</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我使用a MapView,an EditText和a FloatingActionButton(fab),我希望fab在EditText点击时移动到键盘上方.我发现android:windowSoftInputMode="adjustResize"在manifest工作中很好地设置了它,但它也调整了我在背景中的地图的大小,并且它在调整大小时给出了非常难看的效果.
这是我的布局:
<CoordinatorLayout>
<MapView/>
<RelativeLayout>
<EditText/>
other views ...
</RelativeLayout>
<FloatingActionButton/>
other views ...
</CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
关于如何在不使用它的情况下获得"adjustResize"效果的任何想法?或者也许如何从调整大小中排除视图但保持"adjustResize"?
先感谢您
我正在开发一个chrome extension可以在(处于非活动状态的标签中)播放视频,background并且指出该标签会在焦点对准之前Chrome自动暂停任何视频或媒体。这是一个真正的问题对我来说,我需要play videos在unfocused tabs。
我进行了一些研究,但没有找到任何禁用此行为的解决方案。
有什么办法解决这个问题?即使是一个更好的本地解决方案(从chrome参数)javascript(从扩展)。
有没有办法访问 iframe 内的 DOM 元素而不会出现跨域错误?
基本上,我希望能够单击 iframe 内的按钮以从我的扩展程序启动视频。
我真的不知道如何继续,我已经尝试过,iframe.contentDocument但出现跨域错误。
背景.js:
chrome.tabs.executeScript({
"file": "script.js",
"allFrames" : true
});
Run Code Online (Sandbox Code Playgroud)
脚本.js:
var iframe = document.getElementById("iframeId");
var button = iframe.contentDocument.getElementsById("buttonId");
Run Code Online (Sandbox Code Playgroud)
我得到的错误:
Uncaught DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "https://website.com" from accessing a cross-origin frame.
谢谢
android ×5
javascript ×2
bottom-sheet ×1
gson ×1
here-api ×1
html5-video ×1
iframe ×1
keyboard ×1