在history.pushStateiOS上调用Safari 后,当使用浏览器后退按钮进行更改时,不再可以使用alert(),confirm()或prompt().
这是iOS错误吗?有没有已知的解决方法?
重现此行为的简单示例:
<html>
<body>
<ul>
<li>Step 1: <button onclick="alert(Math.random())">Confirm Alert is working</button></li>
<li>Step 2: <button onclick="history.pushState(null, null, '/debug/'+Math.random());">Change History</button></li>
<li>Step 3: use your browser back button, to go back</li>
<li>Step 4: <button onclick="alert(Math.random())">Alert is not working anymore</button></li>
</ul>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
你可以在这里尝试一下:goo.gl/faFW6o.
我正在创建一个ListView及其相应的DetailView应用程序.我的ListView物品如果点击则将用户带到DetailViewActivity.
在DetailViewActivity,我已经实现了可折叠工具栏.现在,每次DetailViewActivity打开时,都会ImageView在可折叠工具栏中设置不同的图像(具有不同的尺寸).
我希望Toolbar默认情况下应该打开一定的高度(例如256dp),但如果图像高度大于该高度,则用户应该能够向下拉以查看图像的其余部分.(完全像Whatsapp)
我已设法以编程方式设置Toolbar每次打开活动时的高度,但问题是,Toolbar始终完全展开.因此,如果图像较大,默认情况下工具栏非常大.无论图像的高度如何,我希望它折叠到256dp.
我的布局代码是:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.CoordinatorLayout
android:id="@+id/rootLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="@dimen/app_bar_height"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsingToolbarLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginStart="@dimen/expanded_toolbar_title_margin_start"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/background_navdrawer"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.7"/>
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="130dp"
android:background="@drawable/gradient_header_background"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.1"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/detail_nested_scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<FrameLayout
android:id="@+id/detail_container"
android:layout_width="match_parent"
android:layout_height="match_parent" …Run Code Online (Sandbox Code Playgroud) 我有一个RecyclerView包含EditText子元素.当选EditText中的屏幕滚动时,我想隐藏软键盘.如何判断EditText屏幕上何时不再显示?是否有一些事件监听器可以附加到EditText元素上来说明?
因此,在阅读了大多数V3文档之后,似乎MediaRouter已成为该CastContext对象的内部对象,而我们将无法再访问它。尝试使用V3框架创建自定义投射对话框时遇到问题。我目前MediaRouteButton在xml中并通过我的活动将其设置为上下文
CastButtonFactory.setUpMediaRouteButton(mActivity, mCastButton);
Run Code Online (Sandbox Code Playgroud)
我还尝试将2年前的Google示例与V3框架合并,但是当然不起作用。这是我从那里拿来的样品
有谁知道从中制作自定义演员表对话框的方法MediaRouteActionProvider吗?
我正在开发一个 Android 应用程序。在我的应用程序中,我试图为 .csv 文件中的文本设置不同的颜色TextView。我的意思是TextView. 我正在尝试使用Html.fromHtml它。但它不起作用。请看我下面的代码:
TextView xml:
<TextView
android:paddingTop="@dimen/general_line_spacing"
android:paddingBottom="@dimen/general_line_spacing"
android:textSize="@dimen/mm_item_title_size"
android:textColor="@color/colorPrimaryText"
android:id="@+id/mm_item_tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)
这就是我将文本设置为 TextView
String title = post.getTitle();
if(title!=null && title.length()>MAX_TITLE_LENGTH)
{
title = title.substring(0, MAX_TITLE_LENGTH);
title = title + "<font color='color:#2bb1ff'> .... read more</font>";
}
viewHolder.tvTitle.setText(Html.fromHtml(title));
Run Code Online (Sandbox Code Playgroud)
如您所见,我正在使用 html 设置字体颜色。但它不起作用。附加的“阅读更多”文本始终与其他字母颜色相同。所以我也试过这种方法。
title = title + "<![CDATA[<font color='color:#2bb1ff'> .... read more</font>]]>";
Run Code Online (Sandbox Code Playgroud)
它不工作。这也是:
title = title + "<span style=color:'#2bb1ff'> .... read more</span>";
Run Code Online (Sandbox Code Playgroud)
那么如何在一个文本中设置多种颜色TextView呢?为什么我的代码不起作用?我该如何解决?
在 Android Nougat 中,EditText显示键盘时会失去焦点。这适用于所有较低版本。
我requestFocus()手动使用将焦点转移到EditText并以编程方式显示键盘。被EditText放置在ListView.
有人可以帮我解决这个问题吗?
我正试图用来scanFile()扫描使用创建的文件DocumentFile。看来此功能不适用于DocumentFile的uri / path。有什么方法可以使它们一起工作,还是有其他方法可以调用媒体扫描器?
DocumentFile myDir = DocumentFile.fromTreeUri(getApplicationContext(),MainActivity.myStrDir).findFile("Folder").findFile("test.mp4");
scanFile(myDir.getUri().getPath());
private void scanFile(String filePath) {
MediaScannerConnection.scanFile(mContext, new String[]{filePath},
null, new MediaScannerConnection.OnScanCompletedListener() {
@Override
public void onScanCompleted(String file, Uri fileUri) {
mHandler.post(mUIUpdateHandler);
}
});
}
Run Code Online (Sandbox Code Playgroud) 我的TextView应用程序中有一些由strings.xml资源文件中的键和动态传递的参数组合而成。我使用 Android Data Binding 其中的 '??' 表示法意味着它应该用空白字符串替换空值,如下例所示。但是当参数值为空直到TextView数据满载时,我们会看到类似“null min”的东西,而我喜欢它是:“min”。
<TextView
android:id="@+id/text_runtime"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:padding="2dp"
android:text="@{@string/min(vm.runtime) ?? ``}"
tools:text="120 min" />
Run Code Online (Sandbox Code Playgroud)
在strings.xml:
<string name="min">
<xliff:g id="min">%d</xliff:g>
min
</string>
Run Code Online (Sandbox Code Playgroud)
我正在尝试访问您必须通过 shadow DOM 的元素的各个部分。我一直在尝试像本指南中那样做:https : //github.com/vaadin/vaadin-themable-mixin/wiki/1.-Style-Scopes
将此代码添加到我的 shared-styles.html 文件中可以正常工作:
vaadin-text-field {
border: 1px solid gray;
}
Run Code Online (Sandbox Code Playgroud)
然后为了访问元素的特定部分以设置样式,它显示如下访问它:
#shadow-root (open)
<style>
:host {
border: 1px solid gray;
}
</style>
Run Code Online (Sandbox Code Playgroud)
并且您可以像这样访问特定部分(在本例中为输入字段):
#shadow-root
<style>
[part="input-field"] {
border: 1px solid gray;
}
</style>
Run Code Online (Sandbox Code Playgroud)
我只是不明白最后 2 个代码块应该如何识别它们正在更改“vaadin-text-field”,因为它在代码片段中无处可见。单独添加这些片段当然不起作用..我觉得这是我忽略的简单事情。非常感谢,感谢 Vaadin 提供的所有帮助!
我正在使用Vaadin网格显示传入信息并实时更新.我已经能够通过访问DOM来设置所有行的样式,如下所示:
<dom-module id="my-grid" theme-for="vaadin-grid">
<template>
<style>
[part="row"] {
height: 27px;
font-size: 14px;
max-height: 27px;
}
</style>
</template>
</dom-module>
Run Code Online (Sandbox Code Playgroud)
我想要做的是根据行数据的内容为特定行设置特定样式.基本上我有一列布尔值,如果它是真的,我希望该行有一个绿色背景,如果它是假的,我希望该行有一个红色背景.现在确定我将如何在我的Java代码或我的代码中执行此操作shared-styles.html.非常感谢!
我已经看到这个示例用于基于条件以编程方式设置列,但不是行.
Grid<Person> grid = new Grid<>();
grid.setItems(people);
grid.addColumn(new ComponentRenderer<>(person -> {
if (person.getGender() == Gender.MALE) {
return new Icon(VaadinIcons.MALE);
} else {
return new Icon(VaadinIcons.FEMALE);
}
})).setHeader("Gender");
Run Code Online (Sandbox Code Playgroud) android ×7
java ×2
vaadin ×2
android-collapsingtoolbarlayout ×1
back-button ×1
chromecast ×1
css ×1
html ×1
ios ×1
javascript ×1
styling ×1
textview ×1
vaadin-grid ×1