我想要做的是更改使用setError()方法后显示的弹出错误消息的背景颜色(设置自定义drawable).
目前,它看起来像这样:

我发现Android有两个文件:
popup_inline_error.9.pngpopup_inline_above_error.9.png你应该能够使用两个属性设置它们:
errorMessageBackgrounderrorMessageAboveBackground但是当我尝试在我的主题中设置它们时,我得到的只是:
<item name="errorMessageBackground">@drawable/popup_inline_error_holo_light</item>
<item name="errorMessageAboveBackground">@drawable/popup_inline_error_above_holo_light</item>
error: Error: No resource found that matches the given name: attr 'errorMessageBackground'.
Run Code Online (Sandbox Code Playgroud)
(它是一样的with android:errorMessageBackground)
我在这里提出这个问题,因为我的想法已经用完了 - 也许有人已经设法做到了这一点?
编辑: 我正在使用的主题的标题:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style
name="Theme.MyThemeName"
parent="@style/Theme.Sherlock.Light">
Run Code Online (Sandbox Code Playgroud)
另一个编辑: 呃,我发现我的问题是一个副本: android:errorMessageBackground在styles.xml中找不到资源发现错误
是另一个编辑:这是一个已知问题,请看一下这个链接:https://code.google.com/p/android/issues/detail?id = 55879
有没有办法在控制台输出中打开测试日志记录?
我知道我们可以查看HTML文件中生成的测试结果并检查那里的标准输出,但我发现它有点不方便.
我知道有一种方法可以使用标准的java插件来做到这一点:
test {
testLogging {
events "passed", "skipped", "failed", "standardOut", "standardError"
}
}
Run Code Online (Sandbox Code Playgroud)
但在Android项目中使用它会导致错误:
Could not find method test()
Run Code Online (Sandbox Code Playgroud)
当然,应用java插件是不可接受的,因为它与Android插件不兼容.
好.这慢慢让我发疯.我在Travis上为我的一个项目设置了CI.我正在运行一些JUnit测试,我想将测试结果上传到我自己的服务器,因此浏览它们要容易得多.
基本上,我想做的只是称之为:
curl -H 'Authorization: Token someToken' -X POST http://my.server.com -F filedata=@file.txt
Run Code Online (Sandbox Code Playgroud)
所以这就是我想在.travis.yml文件中做的事情.
after_script:
- curl -H 'Authorization: Token someToken' -X POST http://my.server.com -F filedata=@file.txt
Run Code Online (Sandbox Code Playgroud)
问题是,对于上面的行我得到一个如下错误:
$ {:"curl -H '\"Authorization"=>"Token someToken\"' -X POST http://my.server.com -F filedata=@file.txt"}
/home/travis/build.sh: line 45: Token someToken"' -X POST http://my.server.com -F filedata=@file.txt}: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我已经了解到,在YAML冒号代表了一对键值,我发现可以使用引号来逃避冒号.
嗯 - 这是我被卡住的地方.我尝试以多种不同的方式应用这些引用,但不知怎的,每次我再次得到相同的错误.
例如:
curl -H '"Authorization: Token someToken"'
curl -H "\"Authorization: Token someToken\""
curl -H "'Authorization: Token someToken'"
curl -H '"Authorization": Token someToken' …Run Code Online (Sandbox Code Playgroud) 是否有可能配置Gradle构建几个Android apk文件,其中每个只使用一个资源类型文件夹?
我的意思是:
我知道我可以在构建之前简单地删除某些文件夹,但如果我可以"自动化"它会很好.
是否可以使用gradle"flavors"?
有没有办法在proguard中设置自定义类名(proguard.cfg中的命令)?
让我们说我有com.scana.MyClass类,我希望proguard总是把它混淆为"tx"
我一直在尝试在我的应用程序中实现简单的事情。我以为这很简单,但是以某种方式却无法正常工作。
我想做的是:
我的布局
<ImageView
android:id="@+id/add_photo_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="20dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:src="@drawable/add_photo_button" />
<ImageView
android:id="@+id/add_photo_right"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:adjustViewBounds="true"
android:src="@drawable/add_photo_button" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我的代码-获取图片路径后
BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
bmpFactoryOptions.inSampleSize = 8;
Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/5.png",bmpFactoryOptions);
lastClicked.setImageBitmap(bitmap);
//lastClicked.setImageResource(R.drawable.green_circle);
Run Code Online (Sandbox Code Playgroud)
我想做的是从sdcard读取调整大小的文件(使用inSampleSize),然后用它填充ImageView(或ImageButton)。但是在使用setImageBitmap函数之后,视图消失了-就像刚加载了空图像一样(注释行正常工作-只是绿色的点)。
也许有人遇到过类似的问题?我将不胜感激。
斯堪纳Greetz
编辑:ofc lastClicked:
lastClicked = (ImageView)findViewById(R.id.add_photo_left);
Run Code Online (Sandbox Code Playgroud)