小编Nic*_*kel的帖子

在Safari,iOS上使用History API后,提示,确认和提示无法正常工作

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.

javascript back-button mobile-safari browser-history ios

42
推荐指数
1
解决办法
1878
查看次数

可折叠工具栏:设置工具栏在onCreate中应折叠的程度

我正在创建一个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)

android android-collapsingtoolbarlayout

13
推荐指数
1
解决办法
4133
查看次数

在"循环器视图"中的"编辑文本"滚动到屏幕外时隐藏键盘

我有一个RecyclerView包含EditText子元素.当选EditText中的屏幕滚动时,我想隐藏软键盘.如何判断EditText屏幕上何时不再显示?是否有一些事件监听器可以附加到EditText元素上来说明?

android android-edittext android-recyclerview

10
推荐指数
2
解决办法
5837
查看次数

如何使用Chromecast V3 SDK创建自定义投射对话框

因此,在阅读了大多数V3文档之后,似乎MediaRouter已成为该CastContext对象的内部对象,而我们将无法再访问它。尝试使用V3框架创建自定义投射对话框时遇到问题。我目前MediaRouteButton在xml中并通过我的活动将其设置为上下文

CastButtonFactory.setUpMediaRouteButton(mActivity, mCastButton);
Run Code Online (Sandbox Code Playgroud)

我还尝试将2年前的Google示例与V3框架合并,但是当然不起作用。这是我从那里拿来的样品

https://github.com/googlecast/MediaRouter-Cast-Button-android/blob/master/src/com/example/mediarouter/MediaRouterCustomDialogActivity.java

有谁知道从中制作自定义演员表对话框的方法MediaRouteActionProvider吗?

android chromecast

5
推荐指数
0
解决办法
712
查看次数

在 Android 中使用 Html.fromHtml 将颜色设置为 TextView 不起作用

我正在开发一个 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呢?为什么我的代码不起作用?我该如何解决?

html android textview

5
推荐指数
1
解决办法
6923
查看次数

Android Nougat 中显示软键盘时 EditText 失去焦点

在 Android Nougat 中,EditText显示键盘时会失去焦点。这适用于所有较低版本。

requestFocus()手动使用将焦点转移到EditText并以编程方式显示键盘。被EditText放置在ListView.

有人可以帮我解决这个问题吗?

android android-edittext android-7.0-nougat

5
推荐指数
1
解决办法
792
查看次数

如何使用媒体扫描仪scanFile()在Android上扫描DocumentFile路径?

我正试图用来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)

android android-mediascanner

5
推荐指数
1
解决办法
449
查看次数

Android 数据绑定“??” 符号和来自资源的参数化字符串。如何避免“空”文本?

我的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)

在此处输入图片说明 在此处输入图片说明

android android-resources android-databinding

3
推荐指数
1
解决办法
4009
查看次数

Vaadin 组件样式混乱

我正在尝试访问您必须通过 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 提供的所有帮助!

css java styling vaadin

3
推荐指数
1
解决办法
1638
查看次数

基于内容的Vaadin 10网格样式个别行

我正在使用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)

java vaadin vaadin-grid

3
推荐指数
1
解决办法
2248
查看次数