小编Ara*_*cem的帖子

如何使用Holo.Light主题,并在蜂窝前设备上回归'Light'?

我想Holo.Light在支持它的设备上使用主题,然后回到Light其他设备上的常规主题.

目前,引用Holo.Light在3.0+上工作正常,但较旧的API只是恢复到默认的"黑暗"主题.我可以通过样式继承来实现我想要的吗?

android android-theme android-3.0-honeycomb android-4.0-ice-cream-sandwich

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

什么是工具:模型,工具:mockup_crop和工具:mockup_opacity

我刚刚将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)

我以前从未见过它们并在谷歌搜索,但我什么都没发现.它们有什么用?

android android-layout android-tools-namespace

49
推荐指数
1
解决办法
1820
查看次数

是否可以在Kotlin中创建扩展构造函数?

在像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有没有办法做到这一点?

kotlin

19
推荐指数
4
解决办法
5291
查看次数

如何拨打未接来电?

我正在开发一个Android应用程序,我希望能够拨打电话但是有一个非常精确的限制,这就是"拨打未接来电".我想要的是,只要电话开始振铃就能挂断电话.

现在我能够知道电话何时开始尝试拨打电话,但是几秒钟内网络上没有"振铃"活动,这是我愿意做的.

我怎么能停止这个确切的时刻?

android phone-call

10
推荐指数
1
解决办法
3447
查看次数

使用Javascript在Android中检测webview

Google Play上有一个应用程序,它将我的网站嵌入到webview中.该应用程序不做任何其他事情,并包括第三方货币化功能.

我想检测用户何时通过应用程序访问我的网站,以便我可以显示一条消息.

然而,我还没有找到区分Android移动浏览器和应用程序的方法,因为用户代理是相同的.

是否有任何已知的方法来检测webview?

谢谢.

android android-webview

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

使用shrinkResources时,AppCompat V7崩溃

我在我的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 …

android proguard android-appcompat gradle

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

如何使用Espresso测试由TaskStackBuilder生成的PendingIntent

我正在我们的应用程序中开发一些很酷的推送通知,并进行一些测试以涵盖当用户点击其中一个通知时,应用程序启动正确的意图打开正确的活动.

在我们的应用程序中,我们有一个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

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

工具栏徽标ID

我很有兴趣设置和配置工具栏徽标的不同属性,如设置Onclick监听器或使用Picasso下载并使用"fit"picasso方法设置圆形图像.

为此,我需要工具栏的ID(注意,徽标,而不是android.R.id.home的导航图标)来查找视图,因为收费栏没有任何方法来获取ImageView.

android android-toolbar

4
推荐指数
1
解决办法
889
查看次数

Android 1.6+中的Android LruCache

我需要在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 ...)

任何人都知道为什么会这样?

android memorycache

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

在Bitmap XML中使用VectorDrawable并对它们进行着色

我们正在尝试将所有应用程序图标资源移至VectorDrawables,以减少应用程序的大小并轻松管理应用程序图标工具包.

我们已经有了一个带有我们应用程序所有图标的Icon Kit,全部为黑色,我们的想法是在每种用法中使用它们并使用适当的颜色着色.这可以(或多或少)完美地工作,直到你试图在layer-list/ selector/相似的地方做同样的,你需要包含一个<bitmap>或类似的项目...我不知道如何着色一个VectorDrawable也适用于< 21台设备

先决条件是不需要以编程方式进行,我知道这是可能的,但是它以编程方式打破了图标的所有简单使用,而且没有意义.

在简历中,是否有任何形式可以VectorDrawable<Bitmap>XML中使用,并且它在<21设备中工作而不是以编程方式工作?

android android-bitmap android-vectordrawable

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

使库的方法对于外部访问不可见,但对库可见

我开发了一个库,我需要该库的用户只能访问一个类(使用一些方法).

对于另一方面,我需要这个类可以访问所有库的方法类.

一种解决方案是将所有类放在同一个包中并使所有方法受到保护,但我不喜欢为不同目的创建具有不同类的库.(就像一个使用视频的类和一个解析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访问方法,但不要让库的用户访问该方法?

java methods visibility package

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