我的应用程序引擎在WebView中运行.它跨越不同的IFRAMES.主要应用程序html和iframes html都在android_assets上.在Android 3.x上没有任何问题.在Chrome浏览器等上也是如此
如果我创建了一个IFRAME(createElement - > appendChild),则会创建iframe.
当我在其中加载内容时(iframe.src ="url"<> iframe.contentWindow.location.href ="url")...它取代了主要应用程序!! (而不是加载到iframe)
已经尝试过:
有类似问题的人吗?或者有人可以帮助我找到有关WebView ICS错误和Honeycomb的文档吗?
还发现了许多其他奇怪的问题...... ICS真的是这个车吗?:S:S
iframe android webview android-assets android-4.0-ice-cream-sandwich
编译我的应用程序时出现以下错误:
[2014-05-07 21:48:42 - Dex Loader] Unable to execute dex: Cannot merge new index 65536 into a non-jumbo instruction!
Run Code Online (Sandbox Code Playgroud)
我的观点是,如果我在我的包中的任何地方声明一个新方法,我会收到此错误.如果我没有,该应用程序编译.
我想知道这个错误的确切含义(并准确无误).我的应用程序很大,但我不认为它那么大!所以:
我已经知道在SO中的类似问题中解决了"jumbo"启用标志,但是,我认为jumbo模式在我目标的API级别(ICS)上不可用.
我在我的应用中使用"Google登录".因此,我使用GoogleApiClient类来获取用户电子邮件和我后端所需的ID令牌.
当用户登录时,我可以访问一个Activity(当然),我使用该Activity让GoogleApiClient通过调用builder.enableAutoManage(myActivity,...)来处理UI生命周期内容.
这很好用.
但是,在稍后阶段(几天后),我需要获得一个新令牌(出于某种原因,我不会在这里进一步讨论).我想在没有用户交互的情况下静默获取此令牌.但是,在我需要这个新令牌的代码中,我无法访问任何Activity实例.这意味着我无法进行上述调用,即"builder.enableAutoManage".而且我发现,如果我不打那个电话,那么静默登录似乎不起作用.
我已附上以下代码.现在,看看"silentLogin"方法.只要我作为用户收到的令牌执行了实际登录,小于一小时,则语句"pendingResult.isDone"将返回true并且可以接收缓存的令牌.但是,如果我作为用户进行实际登录时收到的令牌超过一小时,那么就会调用"pendingResult.setResultCallback",但是"onResult"方法永远不会被调用,我无法获得新的令牌.如果我从一个活动做同样的事情(并且通过它也调用"builder.enableAutoManage"),就不会发生这个问题.
那么,有没有人知道我做错了什么,更重要的是 - 如何解决这个问题并获得一个新的令牌而无需访问活动实例?
我使用的是com.google.android.gms:play-services-auth:8.4.0
package com.google.samples.quickstart.signin;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import com.google.android.gms.auth.api.Auth;
import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
import com.google.android.gms.auth.api.signin.GoogleSignInOptions;
import com.google.android.gms.auth.api.signin.GoogleSignInResult;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.Scopes;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.common.api.OptionalPendingResult;
import com.google.android.gms.common.api.ResultCallback;
import com.google.android.gms.common.api.Scope;
/**
* Use this class to login with google account using the OpenId oauth method.
*/
public class GoogleLoginStackOverflow {
private static final String TAG = GoogleLoginIdToken.class.getName();
private static final String SERVER_CLIENT_ID = "XXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com";
private GoogleApiClient mGoogleApiClient;
private Context mContext;
private GoogleLoginStackOverflow(Context appContext) …Run Code Online (Sandbox Code Playgroud) android google-authentication google-signin googlesigninaccount
我正在使用类似wiki的解析器,为一组标记令牌创建跨度.它正在工作,但在令牌迭代器中我经常需要将a上的部分结果转换SpannableStringBuilder为a SpannableString.这被称为非常频繁,所以我是最有效的解决方案,并避免创建额外的对象.
目前我正在使用;
SpannableStringBuilder stuff=complex_routine_that_builds_it();
SpannableString result=SpannableString.valueOf(stuff);
Run Code Online (Sandbox Code Playgroud)
然而,这个valueOf调用在内部构建了SpannableString一种从头开始,执行a toString和循环来复制分配spans.
正如SpannableStringBuilder名字所暗示的,我认为,也许有一种更快的方式来获得SpannableString从建设者.这是真的吗?
我想知道为什么webkit-backface-visibility像那种通用的阿司匹林可以解决或加剧各种各样的异构问题,主要与工件和闪烁有关.
我已经阅读并理解了backface-visibility它的真正含义:当不面向屏幕时,它控制着三维旋转的物体.有一个不错的,简单明了的演示在这里
但我很好奇为什么,每次我在CSS世界中都有奇怪的故障,完全与3D旋转及其隐藏的背面无关,应用于backface-visibility有问题的层或其中一个祖先通常会帮助或使事情变得更糟,但很少会做任何事情.我在谈论类似的事情
有趣的是,总是在我简陋的经历中,backface-visibility:hidden倾向于解决固定定位相关的东西,并且backface-visibility:visible是闪烁的"最佳".同样有趣的是,在Chrome和Safari中,副作用是不同的,但男孩有!
我在一个Visual HTML创建者工作,所以情况是我有闪烁/工件是相当复杂的(即几个层上的动画,固定元素后面的滚动div,绝对超过z-index ....)
有人可以开导我吗?
我一直在混淆我的应用程序很长一段时间,我采用了以下设置,就像咒语一样,因为它们是谷歌的推荐
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
Run Code Online (Sandbox Code Playgroud)
然而,有一天我错误地评论了这一行,该应用程序正确构建,并"显然"工作.我做了很多测试,无法让它崩溃.
所以我想知道是否需要那些禁用的优化设置......
proguard.cfg指示以保留相关问题类别的应用程序等.与此问题相关的大多数答案都有相互矛盾的信息,并且与相当旧的API版本有关.
逐一:
我发现了一个关于Google网上论坛的讨论 ,他们说simplification/arithmethic在Android Donut之后不需要SDK.我假设,我可以安全地启用此优化.
看起来proguard在开启此优化的项目中做得很好:
[proguard] Number of vertically merged classes: 296
[proguard] Number of horizontally merged classes: 445
Run Code Online (Sandbox Code Playgroud)
除了堆栈跟踪不正确之外还有其他副作用吗?我的意思是,与应用程序崩溃相关的副作用而不是调试问题.我发现了这个相关的问题,但不能得出结论是否安全.
我在 ProGuard的作者回答的这个问题中读到这些问题是为了避免使用较旧的Proguard版本的错误.那么在Proguard 5.1上激活它们是否安全?
我有一个WebView我正在加载一个活动,以便它预先加载,以便它立即弹出一个不同的Activity(从第一个启动).
问题是,为了实例化a WebView,我必须传入a Context,在这种情况下,它是上面提到的第一个.
所以它很好用,第二个Activity显示WebView就好了.问题是,如果我单击<select>下拉列表WebView,其选择器对话框将显示在WebView下.感觉就像选择根本不起作用,直到您点击后退按钮并在返回父活动之前短暂地看到选择对话框.
似乎当我WebView在第二个活动中附加到布局时,它的模态会附加到该活动的窗口,但它WebView本身附加到父活动的窗口,因此它显示在层次结构中的更高点.
我怎么可能改变Context的WebView它的初始化以后?
这是一个非常难以解决的问题 - 我必须在活动开始之前创建WebView,但我还需要选择对话框才能工作.
如果有人能在这里给我一些见解,我会非常感激.
这是针对SDK项目的,因此我无法访问父活动.此外,saveState无法正常工作,因为其中显示的大部分内容都是WebView由JavaScript生成的,并且完整的DOM堆栈不会传输.
我使用我的MapView(新API v2)和一个属于路由的点列表.他们非常接近.我的问题是,如果我做动画步骤调用
mMapInstance.animateCamera(CameraUpdateFactory.newLatLng(mNextPosition),ms, null);
Run Code Online (Sandbox Code Playgroud)
摄影师的表现就像一只强悍的蚱蜢,夸张地夸张地说,在这个过程中幻灯片缓存得到@ ## @#@#!
动画路径并获得统一滚动体验的最佳方法是什么?速度不是问题,我会用低速,我对平滑感兴趣...
如果我可以模拟我用手指做的路径,我会非常高兴...因为地图表现得非常漂亮并且缓存了很多瓷砖.但任何以编程方式移动地图的尝试都会导致粗体动画,白色屏幕,重新加载图块......
提前致谢 !!!
我找不到让这项工作的方法.
我的应用程序有2个FrameLayouts和许多子视图(为简单起见假设ImageViews),一个堆叠在另一个上面.
我的问题是,我需要在TOP和所有它的孩子上使用FrameLayout来让触摸通过它们,到达底层的FrameLayout(及其子节点).像指针事件:HTML中没有应用于TOP framelayout的所有图像视图.
我已经在FrameLayout及其子节点上尝试了setClickable(false)和setEnabled(false),但是如果我单击一个禁用的子节点(例如ImageView),触摸将无法到达底层的ImageView(即底层的子节点)的FrameLayout)
以下代码是我最好的尝试禁用FrameLayout及其子代(mSlideLayout是父FrameLayout,图层是每个imageview子代).我错过了什么?
/** Create the layers structure into the layout */
void create_layers() {
Context context=getActivity();
mSlideLayout.removeAllViews();
for (FunqLayer layer:mLayers) {
if (layer!=null) {
View v=layer.init_internal(context, mSlideLayout); // constructs the child layer, suppose it's an ImageView
if ((v!=null) && (mIsMuteTouches)) {
v.setEnabled(false);
v.setClickable(false);
// this should obviously let touches pass through but it doesnt :(
}
}
}
if (mIsMuteTouches) {
// also do the same in the FrameLayout itself with no luck :(
mSlideLayout.setEnabled(false);
mSlideLayout.setClickable(false); …Run Code Online (Sandbox Code Playgroud) 我有一个ListView用于滚动字段,文本和照片的列表.两个高度都是动态的:textview可以包含一个非常长的段落或只是一个句子,并且图像被缩放以适合宽度,因此高度是可变的(你可以看到照片).有些项目甚至没有图像.
这使得物品的高度非常不均匀.有一个项目可以是2个屏幕长,而另一个只有一行文本.
我有它等工作..但是当我向上滚动时,由于回收视图被插入顶部,滚动位置大约跳过新孩子的大小.向下滚动完美...
我或多或少地了解为什么,显然回收的视图在大小上完全不同,这使得一些滚动的算法失败,无论它在哪里.
我已阅读有关覆盖itemType()和itemTypeCount,但如果它与我的问题,我不知道.在我做的测试中,它没有(神奇地)工作.
这可以轻松修复,任何技巧或魔法请求在这里和那里?
有一个人建议写一个View回收站来解决这个问题:问题列表视图在不同的行高时滚动相当垃圾
写一个View recycler听起来非常复杂吗?
对不起抽象问题..