标签: android-browser

Android Web浏览器缩放比精灵更有效地为图像工作

我正在开发一个移动Web应用程序,我有一个主屏幕,上面有许多图标,所以我尝试使用精灵一次性服务所有图像.

然而,我注意到iphone4在我的精灵中很好地缩放了图像(它们看起来有点抖动),但在我的HTC Evo上,精灵渲染的图像看起来非常块状.我切换到标准图像(背景:(/ image_url /)没有背景位置),图像看起来好多了 - 看到这个屏幕截图,左图像是使用单个图像提供的,而右边的图像是从精灵提供的(但是在精灵中是相同的图像).

有没有办法让Android浏览器更好地解释精灵?

android css-sprites mobile-website android-browser

6
推荐指数
1
解决办法
708
查看次数

在Android浏览器中仅使用HTML和CSS的上拉工具栏

我的移动网络应用程序底部有一个工具栏.我希望能够上下拖动此工具栏,显示其下方的内容.我希望能够通过使用HTML/CSS简单地完成此操作,而不必使用触摸/滚动事件或移动触摸/滚动库.

我试图通过将主要webapp顶部的滚动元素与工具栏及其底部的内容重叠来实现此目的.我给这个元素一个z-index比主要内容更低的元素,这样它就不会阻止用户与主要内容进行交互,并且工具栏及其内容更高,z-index以便可以看到和拉出/向上滚动.

我创建了一个jsFiddle,它在桌面版和Android版Chrome中都有正确的行为.我可以用手指向上拖动工具栏,或者用光标在其上滚动:

不幸的是,工具栏没有出现在Android浏览器中(在4.1和4.2上测试过).

但是,当我按下工具栏应该向上并向上拖动时,它不会滚动页面,直到我将手指移动到足以将工具栏一直向上滚动(如果它可见).这是滚动工具栏在Chrome中的工作方式,并指示工具栏在Android浏览器中正确滚动.它只是不可见.

<div id="main-content"></div>
<div id="scroller">
    <div id="wrapper">
        <div id="toolbar-and-content">
            <div id="toolbar">Toolbar</div>
            <div id="toolbar-content">Toolbar content</div>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)
#main-content {
    position:relative;
    width:100%;
    height:300px;
    background-color:green;
    z-index:1;
}
#scroller {
    position:absolute;
    top:0;
    width:100%;
    height:300px;
    overflow:auto;
}
#wrapper {
    position:relative;
    width:100%;
    height:500px;
}
#toolbar-and-content {
    position:absolute;
    bottom:0;
    width:100%;
    height:250px;
    z-index:2;
}
#toolbar {
    width:100%;
    height:49px;
    border-bottom:1px solid black;
    background-color:red;
}
#toolbar-content {
    width:100%;
    height:200px;
    background-color:orange;
}
Run Code Online (Sandbox Code Playgroud)

我认为它在Android浏览器上不起作用,因为它决定忽略工具栏的更高z-index,因为它在一个较低的元素中z-index.

无论哪种方式,有没有人知道我怎么能够改变它,以便它可以在Android浏览器上工作,和/或是否有其他布局方案,我可以用来实现我想通过只有HTML/CSS?

html android z-index overflow android-browser

6
推荐指数
1
解决办法
934
查看次数

在Chrome浏览器中为Android创建自定义tabhost

我想为浏览器创建自定义tabhost,如标签.我很困惑如何将它应用于像Chrome浏览器选项卡中的布局,就像在图像中一样.

在此输入图像描述

这是我尝试过的.我想知道如何用图像中的斜率创建边缘.

tab_selected.xml

<item>
    <shape android:shape="rectangle" >
        <solid android:color="#DCDCDC" />

        <corners
            android:topLeftRadius="5dp"
            android:topRightRadius="5dp" />
    </shape>
</item>
<item
    android:bottom="2dp"
    android:left="1dp"
    android:right="1dp"
    android:top="1dp">
    <shape android:shape="rectangle" >
        <solid android:color="#DCDCDC" />
        <corners
            android:topLeftRadius="10dp"
            android:topRightRadius="10dp" />
    </shape>
</item>
Run Code Online (Sandbox Code Playgroud)

tab_unselected.xml

<item android:top="10dp">
    <shape android:shape="rectangle" >
        <solid android:color="#AAAAAA" />
    </shape>
</item>
<item android:bottom="2dp">
    <shape android:shape="rectangle" >
        <solid android:color="#AAAAAA" />

        <corners
            android:topLeftRadius="10dp"
            android:topRightRadius="10dp" />

    </shape>
</item>
Run Code Online (Sandbox Code Playgroud)

我希望可以使用XML中的Pathshape来完成.任何人都可以指出我的参考?无法在PathShape上找到引用

android android-browser android-tabhost android-tabs

6
推荐指数
1
解决办法
1774
查看次数

Log <GATE-M> DEV_ACTION_COMPLETED </ GATE-M>似乎延迟了在Android上的执行

我最近注意到我的应用程序偶尔有LAG.而LAG我的意思是它可能需要40秒,取决于我使用Wifi还是移动数据......

我加载页面URL,然后加载js执行:

    webView = (WebView) view.findViewById(R.id.WebView);

    webView.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            logDebug("Loading URL: " + url);
            super.onPageStarted(view, url, favicon);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return WrappingClass.this.shouldOverrideUrlLoading(view, url);
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
        logInfo("loading JavaScript to webview.");
        webView.loadUrl("full-js-here");

        }

        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            logError("error code:" + errorCode);
            super.onReceivedError(view, errorCode, description, failingUrl);
        }
    });

    WebSettings webSettings …
Run Code Online (Sandbox Code Playgroud)

android android-webview android-browser webviewclient android-websettings

6
推荐指数
1
解决办法
2775
查看次数

android浏览器(webkit)select-multiple的项目在选中时消失

我的Android webkit浏览器存在问题

select-multiple中的项目在选中时会消失

我在网上找不到任何解决方案,也没有人在谈论这个问题

我在桌面操作系统中制作了截图,以展示正在发生的事情:

它应该如何出现:

先感谢您

html css android-browser android-2.3-gingerbread android-4.3-jelly-bean

6
推荐指数
1
解决办法
1121
查看次数

在Android和桌面浏览器上进行不同的字体大小渲染

我想知道为什么我的桌面和Android(默认浏览器,Chrome,在最新的系统上)的字体大小可能会有所不同.

总之,<p>(段落)中的字体大小在Android上太大了.

我使用CSS重置样式表(法文文章).

Linux上的Firefox 25.0

Firefox 25.0

您可以看到Lorem ipsum段落的文本减少了(相对于页面文本).该标题具有较大的文本.

Android Chrome(裁剪)

Android上的Chrome

在文本的大小Lorem存有一段接近的大小标题.为什么Chrome不会显示较小尺寸的文字?

查看jsfiddle:编辑,全屏全屏,没有jsfiddle栏.

css firefox font-size android-browser

6
推荐指数
2
解决办法
1万
查看次数

在Chrome和其他浏览器中获取上次访问的网址

我想在chrome和其他浏览器中获取最后访问过的URL.我能够在Android Native浏览器中获取Last URL.我使用以下代码 -

Cursor cur = getContentResolver().query(Browser.BOOKMARKS_URI,
            new String[] { Browser.BookmarkColumns.URL }, null, null,
            BookmarkColumns.DATE + " DESC");
    if (cur != null && cur.getCount() > 0) {
        cur.moveToFirst();
        String url = cur.getString(cur
                .getColumnIndex(Browser.BookmarkColumns.URL));
        cur.close();
        return url;
    } else {
        if (cur != null) {
            cur.close();
        }
        return null;
    }
Run Code Online (Sandbox Code Playgroud)

但是这段代码不适用于其他浏览器,例如chrome.如何在Chrome和其他浏览器中获取上次访问过的网址.

提前致谢.

android android-browser android-cursor

6
推荐指数
1
解决办法
2224
查看次数

在Android Webview中使用元视口宽度

我想使用viewport标签将html内容放入WebView中.

<meta name='viewport' content='width=640'/>
Run Code Online (Sandbox Code Playgroud)

这似乎在Chrome浏览器中运行良好,但无法扩展以适应WebView.我做了一个简化的测试活动:

public class MyActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //--------------------------------------------------
        // Create a simple html page including viewport tag.
        //--------------------------------------------------

        String html = "<!DOCTYPE html>" +
                "<html>" +
                "<head>" +
                "<meta name='viewport' content='width=640'/>" +
                "<title>Viewport Test</title>" +
                "</head>" +
                "<body style=\"margin: 0px;\">" +
                "<div style=\"width: 600px; height: 600px; border: 20px solid green; background-color: red;\"></div>" +
                "</body>" +
                "</html>";

        //-----------------------------------
        // Place html in WebView.
        //-----------------------------------

        WebView webView = new WebView(this);

        webView.loadData(html, …
Run Code Online (Sandbox Code Playgroud)

android android-webview android-browser

6
推荐指数
1
解决办法
1万
查看次数

如何识别有助于重现Android Web浏览器的Web渲染错误的因素?

最近,我一直在研究一些网络渲染错误的门票,这些漏洞只能出现在Android设备的一个子集上(甚至是单个Android设备上).此类别中重现的bug似乎真的很难 - 有时我发现我不能做所有,更糟的是,有时我我可以在某些设备上,但不是别人,不知道为什么.

例如:QA最近报告了一张影响"Galaxy Tab/Android QA build 4.1"的故障单.我试过了

  • 使用4.1运行模拟器(ADT和Genymotion)(无法在那里重现)
  • 运行4.1的两个不同的Galaxy Tab设备(无法在那里重现)
  • Browserstack的Galaxy Tab 2 10.1模拟器(运行Android 4.0)......我看到了QA附加到故障单上的截图,显示了成功再现问题.

这是伟大的,我终于解决了这个特定的错误,但在另一方面,它本来是很容易的第一个两次尝试后放弃,从来没有试过Browserstack.我找到了一种重现它的方法,这是运气不好的一半.我想很少依靠这一点,学会更好(一)确定可能的地方,我可以重现的问题(二)烧烤QA给我我需要的所有细节.

有哪些相关变量?我想的是:

  • Android版本
  • 浏览器版本
  • 也许内核版本?
  • 股票与自定义操作系统(运营商/制造商变体可以发挥多大作用)?
  • 屏幕尺寸/分辨率
  • 其他硬件变化?

但我不太了解这些相互作用或其他可能发生的事情.

提出这个问题的另一种方式 - 如果有人来找我并说"嗨,我在使用Samsum DroidTab浏览时在网站上发现了问题?" (或其他不准确指定的设备)究竟是什么,我需要找出为了找到另一台设备/仿真器上,我可以可靠地重现他们看到了什么?

android cross-browser android-emulator android-browser chrome-for-android

6
推荐指数
1
解决办法
976
查看次数

如何在Android 6.0中继续使用浏览器书签更改(API 23)

在我的应用程序,我一直在使用一些功能都上来为unknown采用Android 6.0(时buildToolsVersion "23.0.1"),该函数是:Browser.getAllVisitedUrls(getContentResolver());,BookmarkColumns.URL,等.

如何在Android 6.0中使用相同的功能.

Android 6.0中已更改的内容列表中,我看到以下内容:

浏览器书签更改

此版本删除了对全局书签的支持.现在删除了android.provider.Browser.getAllBookmarks()和android.provider.Browser.saveBookmark()方法.同样,删除了READ_HISTORY_BOOKMARKS和WRITE_HISTORY_BOOKMARKS权限.如果您的应用面向Android 6.0(API级别23)或更高版本,请勿访问全局提供商的书签或使用书签权限.相反,您的应用应该在内部存储书签数据.

这到底是什么意思?**Instead, your app should store bookmarks data internally**???

我正在访问使用Chrome浏览器应用访问的网站历史记录(当然是明确的用户权限),如何继续这样做?

android android-browser android-6.0-marshmallow

6
推荐指数
1
解决办法
5300
查看次数