我想Holo.Light在支持它的设备上使用主题,然后回到Light其他设备上的常规主题.
目前,引用Holo.Light在3.0+上工作正常,但较旧的API只是恢复到默认的"黑暗"主题.我可以通过样式继承来实现我想要的吗?
android android-theme android-3.0-honeycomb android-4.0-ice-cream-sandwich
我刚刚将Android Studio更新到版本2.3(金丝雀版本)和最后的构建工具'com.android.tools.build:gradle:2.3.0-alpha1',当我打开布局并编写tools:并按下ctrl + space以自动完成它时,我发现了新的工具命名空间:
tools:mockup
tools:mockup_crop
tools:mockup_opacity
Run Code Online (Sandbox Code Playgroud)
我以前从未见过它们并在谷歌搜索,但我什么都没发现.它们有什么用?
在像Swift这样的其他语言中,有可能创建一个添加新构造函数的函数扩展.
像这样的东西:
// base class
class Whatever() {
...
}
// constructor method extension
fun Whatever.constructor(potato: String) {
setPotato(potato)
}
fun main(args: Array<String>) {
println(Whatever("holi"))
}
Run Code Online (Sandbox Code Playgroud)
在Kotlin有没有办法做到这一点?
我正在开发一个Android应用程序,我希望能够拨打电话但是有一个非常精确的限制,这就是"拨打未接来电".我想要的是,只要电话开始振铃就能挂断电话.
现在我能够知道电话何时开始尝试拨打电话,但是几秒钟内网络上没有"振铃"活动,这是我愿意做的.
我怎么能停止这个确切的时刻?
Google Play上有一个应用程序,它将我的网站嵌入到webview中.该应用程序不做任何其他事情,并包括第三方货币化功能.
我想检测用户何时通过应用程序访问我的网站,以便我可以显示一条消息.
然而,我还没有找到区分Android移动浏览器和应用程序的方法,因为用户代理是相同的.
是否有任何已知的方法来检测webview?
谢谢.
我在我的gradle项目中启用了新工具shrinkResources,但由于找不到AppCompat颜色xml而失败,可能是由该工具删除的.
11-03 11:30:19.095: E/AndroidRuntime(24797): Caused by: android.content.res.Resources$NotFoundException: File res/color/abc_primary_text_material_dark.xml from color state list resource ID #0x7f090192
11-03 11:30:19.095: E/AndroidRuntime(24797): at android.content.res.Resources.loadColorStateList(Resources.java:2247)
11-03 11:30:19.095: E/AndroidRuntime(24797): at android.content.res.Resources.getColor(Resources.java:812)
11-03 11:30:19.095: E/AndroidRuntime(24797): at android.support.v7.internal.widget.TintManager.getThemeAttrColor(TintManager.java:325)
11-03 11:30:19.095: E/AndroidRuntime(24797): at android.support.v7.internal.widget.TintManager.tintDrawable(TintManager.java:178)
11-03 11:30:19.095: E/AndroidRuntime(24797): at android.support.v7.internal.widget.TintManager.getDrawable(TintManager.java:146)
11-03 11:30:19.095: E/AndroidRuntime(24797): at android.support.v7.internal.widget.TintTypedArray.getDrawable(TintTypedArray.java:62)
11-03 11:30:19.095: E/AndroidRuntime(24797): at android.support.v7.widget.Toolbar.<init>(Toolbar.java:248)
11-03 11:30:19.095: E/AndroidRuntime(24797): at android.support.v7.widget.Toolbar.<init>(Toolbar.java:190)
11-03 11:30:19.095: E/AndroidRuntime(24797): ... 27 more
11-03 11:30:19.095: E/AndroidRuntime(24797): Caused by: android.content.res.Resources$NotFoundException: File res/color/abc_primary_text_material_dark.xml from xml type colorstatelist resource ID #0x7f090192
11-03 …
我正在我们的应用程序中开发一些很酷的推送通知,并进行一些测试以涵盖当用户点击其中一个通知时,应用程序启动正确的意图打开正确的活动.
在我们的应用程序中,我们有一个StartupActivity,它捕获所有这些推送通知,并使用正确的附加功能路由到正确的屏幕.用于完成Espresso正确启动的UI测试如下所示:
@Test
public void showsANotificationAndOpensTheCorrectScreen() throws
UiObjectNotFoundException {
sendBroadcast(PushNotificationBuilder
.withAction("com.xxxx.android.gcm.SOMETHING")
.withType("SOME_TYPE")
.withRelatedId(ANY_ID)
.withTitle(ANY_TITLE)
.build());
tapNotificationWithTitle(ANY_TITLE);
intended(allOf(
hasComponent(DesitinyActivity.class.getCanonicalName()),
hasExtra("extra_id", Long.valueOf(ANY_ID)),
hasExtra("extra_other_extra", true)));
}
Run Code Online (Sandbox Code Playgroud)
如您所见,此测试模拟接收通知,点击它并检查是否抛出了对正确Activity的Intent.
当我们有一个不在第一级的屏幕时,问题就到了,例如典型的详细信息屏幕,我们需要构建一堆活动.为此,我们使用TaskStackBuilder生成具有所有意图堆栈的PendingIntent.给定最终Activity的意图生成堆栈的示例代码:
private PendingIntent generateexampleTaskBuilder(Context context, Intent intentToTheFinalScreen) {
TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
stackBuilder.addNextIntent(ExampleActivity.getLaunchIntent(someExtra, context));
stackBuilder.addNextIntent(intent);
return stackBuilder.getPendingIntent(PushIdIntegerGenerator.getUniquePushId(),
PendingIntent.FLAG_UPDATE_CURRENT);
}
Run Code Online (Sandbox Code Playgroud)
问题是intendedespresso方法永远不会验证此Pending Intent并且测试永远不会通过.如果我更改了正常和直接Intent的待定意图,则测试通过.因此我们可以假设方法intent()无法捕获挂起的意图.
是否有任何形式来测试待定意图?
testing android android-intent android-pendingintent android-espresso
我很有兴趣设置和配置工具栏徽标的不同属性,如设置Onclick监听器或使用Picasso下载并使用"fit"picasso方法设置圆形图像.
为此,我需要工具栏的ID(注意,徽标,而不是android.R.id.home的导航图标)来查找视图,因为收费栏没有任何方法来获取ImageView.
我需要在Android 1.6+中使用LruCache(来自Android 3.1的api)
我使用支持LruCache的Android支持库v4(根据本手册http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html#memory-cache)但问题是我得到了NoClassDefNotFoundError一直都是.我在我的项目中包含support.v4库(在其他活动中我使用ViewPager ...)
任何人都知道为什么会这样?
我们正在尝试将所有应用程序图标资源移至VectorDrawables,以减少应用程序的大小并轻松管理应用程序图标工具包.
我们已经有了一个带有我们应用程序所有图标的Icon Kit,全部为黑色,我们的想法是在每种用法中使用它们并使用适当的颜色着色.这可以(或多或少)完美地工作,直到你试图在layer-list/ selector/相似的地方做同样的,你需要包含一个<bitmap>或类似的项目...我不知道如何着色一个VectorDrawable也适用于< 21台设备
先决条件是不需要以编程方式进行,我知道这是可能的,但是它以编程方式打破了图标的所有简单使用,而且没有意义.
在简历中,是否有任何形式可以VectorDrawable在<Bitmap>XML中使用,并且它在<21设备中工作而不是以编程方式工作?
我开发了一个库,我需要该库的用户只能访问一个类(使用一些方法).
对于另一方面,我需要这个类可以访问所有库的方法类.
一种解决方案是将所有类放在同一个包中并使所有方法受到保护,但我不喜欢为不同目的创建具有不同类的库.(就像一个使用视频的类和一个解析XML的类)在同一个包中.
现在:
com.aracem.library:
- 1级
- 2
级
- 3 级
- 4 级 - 5级
我想要这样的东西
com.aracem.library:
- class 1
com.aracem.library.video
- class 2 video
com.aracem.library.xml
- class 3 xml
- class 4 xml
如何定义第2,3,4(在示例中)的方法,让类1访问方法,但不要让库的用户访问该方法?
android ×9
android-4.0-ice-cream-sandwich ×1
gradle ×1
java ×1
kotlin ×1
memorycache ×1
methods ×1
package ×1
phone-call ×1
proguard ×1
testing ×1
visibility ×1