小编Mic*_*ł K的帖子

9补丁 - 1px边框模糊

我正在测试HTC Desire,它是一个hdpi设备.查看图像时问题很明显:

9补丁 -  1px边框模糊

以下是我的9补丁(使用标准9补丁工具制作)看起来(缩放)的方式:

9补丁 -  1px边框模糊

左边的图像是我的photoshop文件,右边的图像是我设备的屏幕截图.正如您所看到的,存在巨大差异.让我们说阴影并不重要,但模糊的边界看起来很糟糕.

我的9补丁png错了吗?我该怎么做才能获得漂亮的1px实心边框?

android nine-patch

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

多个MapFragments的性能(Android Map API v2)

我搜索了新的Google Android Map API v2的文档,但没有找到任何相关信息.在v2之前,我们(官方)无法正确显示每个应用程序(进程)的多个映射.我认为,随着MapFragment实施,它不再是一个问题.我也知道,Fragments自API 17以来,它可以是自包含的.而且,最后但并非最不重要的是,有兼容性包,这使得将它全部移回至少API 8成为可能(在API 7中,没有OpenGL 2.0所以地图不会起作用).

Sa我拥有将我的应用程序移植到Maps API v2并实现以下场景的所有要素:ViewPagercontains Fragments并且每个都包含一个MapFragment.

但我应该这样做吗?我的意思是,我将面临性能问题,如果我如20 Fragments包含MapFragments在一个ViewPager

如果您在文档或其他地方找到了解决我问题的任何内容,请告诉我.


编辑:示例用法:让我们想象一个屏幕,其中包含有关某些特定项目的信息 - 地点,事件,文章.另外,让我们想象一下,在其他信息中,它必须包含一个完全正常运行的地图.但我希望用户能够根据需要刷到另一个项目.每个项目都有自己的地图.

旁注:我知道我可以在外面实现一个地图ViewPager,只是根据当前显示的项目进行更新,但这不是我想要的 - 它不是以用户为中心的设计.


可能的解决方案(但尚未检查).ViewPager只在它的缓存中保留一些(默认值为3)片段,并在它们即将显示时重新创建它们,因此不会有太多的内存开销,因为只需要少量内存MapFragments.MapFragment我认为,性能问题可能是通货膨胀非常沉重 - 但这可以通过回收再利用来解决MapFragments.


那么,如果我相信它会很好用的话,为什么我不会实现呢?还有一个问题是,如果MapFragments没有应用程序看起来像它已经坏了就无法移动.看到这个.

android google-maps mapfragment

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

Observable.just()返回Kotlin中的Unit

我有一块Observable,它最终会返回一个错误并重试或只返回onNext.我在onNext中不需要任何东西,所以这只是一个Observable<Unit>.

现在的问题是,在链的末尾,我必须点击这个onNext,除了旧的,我没有任何东西Observable.just().但我不能返回Observable.just(null),因为它返回Nothing?,而不是Unit.我不能回来Unit,因为它不可实现.所以我有Observable.just(null).map{}.它有效,但看起来很难看.想要更好的解决方案吗?

android kotlin rx-java

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

测试环境配置:Android + JUnit 5 + Mockito + Spek + Kotlin

我很难配置基于JUnit Jupiter(5)的测试环境.那里有两个不同的错误:

WARNING: TestEngine with ID 'spek' failed to discover tests
org.junit.platform.commons.util.PreconditionViolationException: Could not load class with name...

Exception in thread "main" java.lang.NoSuchMethodError: org.junit.platform.launcher.Launcher.execute(Lorg/junit/platform/launcher/LauncherDiscoveryRequest;)V
at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:61)...
Run Code Online (Sandbox Code Playgroud)

配置如下.

主要build.gradle:

    apply plugin: 'org.junit.platform.gradle.plugin'

buildscript {
    ext.kotlin_version = '1.1.4-3'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-beta5'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.junit.platform:junit-platform-gradle-plugin:1.0.0"
        classpath "de.mannodermaus.gradle.plugins:android-junit5:1.0.0"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "http://dl.bintray.com/jetbrains/spek" }
    }
}


junitPlatform {
    filters {
        engines {
            include 'spek'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

模块 …

junit android mockito junit5 spek

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

无法从仅限 jvm 的模块访问 commonMain 多平台类

我有一个具有以下结构的项目:

  • multiplatformmodule - 包含一个 kotlin 类 SomeMultiPlatformClass
  • jvmmodule - 一个纯 jvm 模块,它依赖于 multiplatformmodule

问题是在 jvmmodule 中,我无法multiplatformmodule在运行测试时访问任何类。我明白了java.lang.NoClassDefFoundError: com/example/multiplatform/multiplatformmodule/SomeMultiPlatformClass。IDE (Anroid Studio) 也将此类标记为未解析。然而,当multplatformmodule从另一个多平台模块访问类时,它会构建。

在示例项目https://github.com/micHar/kmm-dependency-issues/tree/master 中可以看到更多内容。

unit-testing jvm intellij-idea kotlin kotlin-multiplatform

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

更改状态栏图标色调

在Lollipop中,我们可以更改状态栏背景的颜色,甚至可以使其透明.我们假设我想要一个浅色背景(#eee).状态栏图标的默认颜色为白色,因此它们将变得难以辨认.有可能让它们变暗吗?

android android-5.0-lollipop

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

正确处理相机旋转(在TextureView中)

我尝试在我的应用程序中使用相机,我遇到了正确处理配置更改的问题.我知道在典型的Activity(onSaveInstanceState等)中处理配置更改的正确方法,但在这里并非如此.

将我的活动视为全屏相机预览,带有叠加快门按钮和用于裁剪图像的框架

我想要实现的目标(预览股票HTC Sense相机):http://youtu.be/uzfUJUNHY68

也就是说:打开时的相机预览TextureView不应该在旋转时重新创建,但是活动应该是方向感知的,以定位元素.

我很确定我不希望Activity在轮换时重新创建.所以我尝试了这种android:configChanges方法.问题是onSurfaceTextureSizeChanged()仍然被调用并且相机预览被旋转并且整个体验不平滑(预览滞后片刻并且被"重新创建"或者某种东西).

我尝试将我的Activity锁定到横向通过android:screenOrientation="landscape",但这种方式onConfigurationChanged()没有被调用,我不知道如何定位其他视图,如上面的视频.我想我可以听一些加速器事件,但我很确定有更好的方法.在那儿?

android android-camera

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

如何在CountDownTimer上添加和删除时间?

问题是:如何在倒计时期间从CountDownTimer添加或删除时间?

例如:用户做了好事:+ 5秒,用户做错了什么:-5秒.

有人可以帮我一些代码吗?

android timer countdown countdowntimer

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

inputType ="numberDecimal"不接受逗号,即使使用android:digits ="0123456789.",

我有EditText这样的.

<EditText
    ...
    android:inputType="numberDecimal"
    android:digits="0123456789.," />
Run Code Online (Sandbox Code Playgroud)

在大多数设备上它工作正常,所有指定的字符android:digits都被接受.但在三星GT-P5100(Galaxy Tab 2 10.1)上,逗号被禁用:

在此输入图像描述

有任何想法吗?

android android-edittext

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