小编L. *_* G.的帖子

如何从drawable引用样式属性?

我想为我的应用程序提供2个可选主题.为了做到这一点,我定义了一些属性,如下所示:

 <attr format="color" name="item_background" />
Run Code Online (Sandbox Code Playgroud)

然后,我创建了两个主题,如下所示:

  <style name="ThemeA">
     <item name="item_background">#123456</item>
 </style>

 <style name="ThemeB">
     <item name="item_background">#ABCDEF</item>
 </style>
Run Code Online (Sandbox Code Playgroud)

这种方法效果很好,允许我轻松地创建和修改几个主题.问题是它似乎只能在Views中使用,而不能在Drawables中使用.

例如,引用布局内View的值可以:

 <TextView android:background="?item_background" />
Run Code Online (Sandbox Code Playgroud)

但是在Drawable中做同样的事情并不是:

 <shape android:shape="rectangle">
     <solid android:color="?item_background" />
 </shape>
Run Code Online (Sandbox Code Playgroud)

运行应用程序时出现此错误:

    java.lang.UnsupportedOperationException: Can't convert to color: type=0x2
Run Code Online (Sandbox Code Playgroud)

如果不是?item_background我使用硬编码颜色,它可以工作,但这不允许我使用我的主题.我也试过?attr:item_background,但同样的事情发生了.

我怎么能这样做?为什么它在Views中有效但在Drawables中无效?我在文档中的任何地方都找不到这个限制......

android android-theme android-drawable android-attributes

87
推荐指数
4
解决办法
3万
查看次数

Java opc客户端应用程序

我正在寻找一些库和一些例子,用Java创建一个可以与opc服务器连接的客户端OPC应用程序.提前致谢.

java opc

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

解析C:\ Documents and Settings\<user>\.android\devices.xml时出错

自从我上次在Eclipse上更新Android SDK以来,我在打开Eclipse时出现以下错误:

错误:解析C:\ Documents and Settings\.android\devices.xml时出错,备份到C:\ Documents and Settings\.android\devices.xml.old cvc-elt.1:找不到元素'd的声明:布局的设备.

有人遇到过这个问题吗?我在Google和Stackoverflow上找不到有关此错误的任何内容.

eclipse android android-sdk-tools

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

如果有一种方法可以在google play上检查设备兼容性而无需上传它

将Android应用程序上传到市场时,Google Play会根据您的应用程序清单设置确定兼容设备列表,例如:

  • 使用许可权
  • 使用特征
  • 使用-SDK
  • 支持屏

到目前为止,我发现只有在将我的应用程序上传到Google Play后,才能调整我的清单,以便将我的应用程序用于更多设备.

有没有办法检查设备兼容性,然后再将其上传到市场?

android android-manifest google-play

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

如何在Android上使用Espresso进行测试?

我不明白.如何在项目中添加和使用Espresso?

Espresso网址:https://code.google.com/p/android-test-kit/

如何将此库连接到我的项目?我想在Eclipse中有一个例子.

eclipse android android-espresso

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

如何处理 List 的每个 Future 的结果以及何时在 vert.x 中完成所有 Futures?

我有一个ListFuture每个和需要处理结果Future当它完成。完成所有期货后,我需要撰写回复。

我创建期货及其处理程序列表的简化代码:

    final List<Future<MyResponse1>> futureMyResponse1Lst = new ArrayList<>();
    for (final MyObject1 obj1: listOfObject1) {
        final Future<MyResponse1> resp1Future = myRestClient.getMyResponse1(obj1);

        resp1Future .setHandler(new Handler<AsyncResult<MyResponse1>>() {

            @Override
            public void handle(final AsyncResult<MyResponse1> event) {
                final MyResponse1 resp1= event.result();
                handleResponse1(obj1, resp1);
            }

        });
        futureMyResponse1Lst.add(resp1Future );
    }
Run Code Online (Sandbox Code Playgroud)

在这个阶段,所有处理程序都会在每个 Future 结果上调用。

但是如果我添加一个CompositeFuture只有HandlerCompositeFuture被称为:

    final List<Future> futuresAll = new ArrayList<>();
    futuresAll.addAll(futureMyResponse1Lst );
    CompositeFuture.all(futuresAll).setHandler(new Handler<AsyncResult<CompositeFuture>>() {

        @Override
        public void handle(final AsyncResult<CompositeFuture> event) {
            // called when all future …
Run Code Online (Sandbox Code Playgroud)

java asynchronous future vert.x

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

如何知道 OPC Server CLSID?

我正在尝试通过 openscada 连接到 OPC 服务器。

我已经知道 MatrikonOPC 资源管理器提供的 OPC 服务器程序 ID,但连接不起作用可能是由于 DCOM 配置错误。在更进一步之前,我想尝试通过服务器 CLSID 进行连接。

如何找出 OPC 服务器的 CLSID?

opc

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

不支持的gradle方法instrumentTestCompile

gradle.build根据Google的说明,我在Android工作室的Android项目中包含espresso时,我有一个不受支持的gradle方法instrumentTestCompile :
https://code.google.com/p/android-test-kit/wiki/Espresso#Espresso_Setup_Instructions.

gradle.build:

dependencies {
  instrumentTestCompile files('libs/espresso-1.1.jar',
          'libs/testrunner-1.1.jar',
          'libs/testrunner-runtime-1.1.jar')

  instrumentTestCompile 'com.google.guava:guava:14.0.1',
          'com.squareup.dagger:dagger:1.1.0',
          'org.hamcrest:hamcrest-core:1.1',
          'org.hamcrest:hamcrest-integration:1.1',
          'org.hamcrest:hamcrest-library:1.1'
}
Run Code Online (Sandbox Code Playgroud)

完成错误:

Build script error, unsupported Gradle DSL method found: ‘instrumentTestCompile()’!
Possible causes could be:
– you are using Gradle version where the method is absent
– you didn’t apply Gradle plugin which provides the method
– or there is a mistake in a build script
Run Code Online (Sandbox Code Playgroud)

android android-studio android-gradle-plugin android-espresso

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