我有一个ImageButton
在我的应用程序,我需要在按钮时更改图像的色调pressed/focused
.我有一个从XML文件ImageButton
获取它的集合,src
如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- pressed -->
<item
android:state_pressed="true"
android:tint="@color/black"
android:drawable="@drawable/search"
/>
<!-- focused -->
<item
android:state_focused="true"
android:tint="@color/black"
android:drawable="@drawable/search"
/>
<!-- default -->
<item
android:tint="@null"
android:drawable="@drawable/search"
/>
</selector>
Run Code Online (Sandbox Code Playgroud)
但是,ImageButton
按下或聚焦时不会应用色调- 图像只显示正常.黑色一直定义为黑色#000000
.有任何想法吗?
我想在我的Android项目中找到任何未使用的资源 - 包括字符串,id,drawable,整数等.
目前是否存在执行此操作的工具(最好是Eclipse)?
我有一个视图,它做了一些基本的绘图.在此之后,我想绘制一个打孔的矩形,这样只能看到上一个图形的一个区域.我想为我的视图启用硬件加速以获得最佳性能.
目前我有两种方法可以工作,但只有在禁用硬件加速时才有效,而另一种方法太慢.
方法1:SW加速(慢)
final int saveCount = canvas.save();
// Clip out a circle.
circle.reset();
circle.addCircle(cx, cy, radius, Path.Direction.CW);
circle.close();
canvas.clipPath(circle, Region.Op.DIFFERENCE);
// Draw the rectangle color.
canvas.drawColor(backColor);
canvas.restoreToCount(saveCount);
Run Code Online (Sandbox Code Playgroud)
这不适用于为视图启用的硬件加速,因为在此模式下不支持'canvas.clipPath'(我知道我可以强制SW渲染,但我想避免这种情况).
方法2:硬件加速(V.慢速)
// Create a new canvas.
final Bitmap b = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
final Canvas c = new Canvas(b);
// Draw the rectangle colour.
c.drawColor(backColor);
// Erase a circle.
c.drawCircle(cx, cy, radius, eraser);
// Draw the bitmap on our views canvas.
canvas.drawBitmap(b, 0, 0, null);
Run Code Online (Sandbox Code Playgroud)
橡皮擦创建的地方
eraser = new Paint()
eraser.setColor(0xFFFFFFFF); …
Run Code Online (Sandbox Code Playgroud) 如何在Android中的视图中添加滚动条?
我尝试添加android:scrollbars:"vertical"
到LinearLayout
我的布局XML文件但它无法正常工作.
我认为默认情况下在Android中绘制了滚动条,但它似乎并非如此.看来我们必须自己画画 - 我该怎么做?
创建具有损坏/不完整JPEG数据的UIImage时,控制台将打印出来
<Error>: Corrupt JPEG data: premature end of data segment
将显示不完整的图像,灰色填满不完整的部分.我不希望这种情况发生.
我拼命尝试使用try-catch块,但它没有捕获错误.有没有办法抓住错误?
Android上的默认Gallery小部件不会回收视图 - 每次调用新位置的视图时,小部件总是调用getView
适配器的方法convertView
设置为null.
当您向后和向前滚动时,这会在创建的大量视图中结束,Gallery中存储的回收器组件似乎不会足够快地回收它们导致OOM情况.
您可以使用一些大图像作为您的图库项目轻松测试,但只有TextView最终会导致它.在getView
适配器的方法中放置带有计数器的日志语句,以查看创建了多少新视图.
是否存在行为类似Gallery但又实现视图回收的第三方窗口小部件?
我有一些ASP.NET Core MVC中间件来捕获未处理的异常,我想从中返回响应.
虽然httpContext.Response.WriteAsync
编写字符串很容易,例如用于JsonSerializer
将对象序列化为字符串,但我想使用标准的序列化设置和内容协商,以便在将默认输出格式更改为XML或text/xml
发送接受标头时当我配置了多个输出格式化程序时,返回XML,就像我ObjectResult
从控制器返回一样.
有谁知道如何在中间件中实现这一目标?
到目前为止,我的代码只写了JSON:
public class UnhandledExceptionMiddleware
{
private readonly RequestDelegate _next;
private readonly IOutputFormatter _outputFormatter;
private readonly IHttpResponseStreamWriterFactory _streamWriterFactory;
public UnhandledExceptionMiddleware(RequestDelegate next, JsonOutputFormatter outputFormatter, IHttpResponseStreamWriterFactory streamWriterFactory)
{
_next = next;
_outputFormatter = outputFormatter;
_streamWriterFactory = streamWriterFactory;
}
public async Task Invoke(HttpContext context)
{
try
{
await _next(context);
}
catch (Exception ex)
{
await HandleExceptionAsync(context, ex);
}
}
private async Task HandleExceptionAsync(HttpContext context, Exception exception)
{
var error = new …
Run Code Online (Sandbox Code Playgroud) 嗨我想以简单的日期格式显示玩家位置和玩家持续时间.那是.00:00:01/00:00:06
.第一部分是玩家的当前位置,第二部分是持续时间.我曾经SimpleDateFormat
尝试以这种格式显示持续时间和位置,但它显示输出为05:30:00/05:30:06
.
这是我正在使用的代码:
time1 = new SimpleDateFormat("HH:mm:ss");
currentTime.setText("" + time1.format(player.getCurrentPosition());
Run Code Online (Sandbox Code Playgroud)
如何正确打印位置和持续时间?(它显示的小时/分钟不应该在那里).
请帮助我,Swathi Daruri.
我正在使用内置帐户系统(使用AccountManager API)为Android应用程序实现登录系统.
在Android 2.2+上一切都很好,但在Android 2.1上不包括SyncAdapter导致在帐户设置屏幕中重新启动(请参阅http://code.google.com/p/android/issues/detail?id=5009和AccountManager没有SyncAdapter?)
为了解决这个问题,我实现了一个存根SyncAdapter,它只是null
从中返回IBinder onBind(Intent intent)
,并将相关内容添加到清单中.这解决了Android 2.1上的重启问题.
然而,它引入了另一个问题:添加帐户后,Android系统稍后会启动帐户同步.虽然没有发生错误(事实上我的SyncAdapter什么都不做,但除非通过返回null
,否则无法导致错误),同步图标仍然卡在顶部的通知栏中.这导致Android同步系统保持永久唤醒锁定,防止设备休眠.
该帐户未在帐户设置屏幕中列出任何可同步组件(在"数据和同步"标题下),并且始终在帐户列表中显示"同步已关闭"同步状态(即使同步图标在通知栏).禁用帐户同步不会消除此问题.删除帐户可以解决问题.
我的猜测是我不应该返回null.我应该返回ThreadedSyncAdapter的基本实现吗?任何帮助获得帐户系统没有关联同步在2.1和2.2+上正常工作非常感谢.
android user-accounts accountmanager android-syncadapter android-wake-lock
我们遇到一个令人尴尬的并行问题 - 我们运行一个单个程序的大量实例,每个程序都有不同的数据集; 我们只需将应用程序多次提交到具有不同参数的批处理队列即可.
但是,由于有大量工作,并非所有工作都完成.它似乎不是队列中的问题 - 所有作业都已启动.
问题似乎是,随着应用程序的大量实例运行,许多作业大致同时完成,因此所有人都试图在几乎同时将其数据写入并行文件系统.
然后问题似乎是程序无法写入文件系统并以某种方式崩溃,或者只是坐在那里等待写入,批处理队列系统在等待太长时间后就会终止作业.(从我收集的问题来看,大多数未能完成的工作,如果不是全部,都不会留下核心文件)
调度磁盘写入以避免此问题的最佳方法是什么?我提到我们的程序是令人尴尬的并行突出显示每个进程都不知道其他进程的事实 - 他们不能互相交谈以某种方式安排他们的写入.
虽然我有程序的源代码,但我们希望解决问题而不必在可能的情况下修改它,因为我们不维护或开发它(加上大多数注释都是意大利语).
我对此事有一些想法:
与此同时,我需要纠缠我的主管以获取有关错误本身的更多信息 - 我从未亲自遇到过它,但我还没有将程序用于大量数据集(尚未).
如果它有用:我们在HPC系统上使用SGE(Sun GridEngine)批处理队列系统运行Solaris.文件系统是NFS4,存储服务器也运行Solaris.HPC节点和存储服务器通过光纤通道链路进行通信.
c filesystems parallel-processing fortran embarrassingly-parallel
我有一个用Maven构建的Android应用程序.使用buildnumber-maven-plugin和maven-resources-plugin我将maven项目版本和git commit hash插入AndroidManifest.该create
buildnumber - Maven的插件的目标,在运行validate
阶段和resources
Maven的资源,插件的目标,在运行initialize
阶段.
通过命令行(with mvn install
)构建时,所有工作正常,并且构建号在生成的清单中正确显示.
但是,在通过Android Studio或IntelliJ构建时,清单中不存在git commit hash(Maven属性不会替换为实际值),但是maven项目版本是.
为什么?
仅供参考:Android Studio在Make之前运行Maven阶段流程资源,因此它应该可以运行.
在命令行上我使用的是Maven 3.0.3,因此可能是版本问题(虽然我无法找到IntelliJ使用的版本).
这是我的POM的构建元素:
<build>
<sourceDirectory>src</sourceDirectory>
<testSourceDirectory>test</testSourceDirectory>
<resources>
<resource>
<directory>${project.basedir}</directory>
<filtering>true</filtering>
<targetPath>${project.build.directory}/filtered-manifest</targetPath>
<includes>
<include>AndroidManifest.xml</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>${maven.buildnumber.version}</version>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<shortRevisionLength>6</shortRevisionLength>
<revisionOnScmFailure>000000</revisionOnScmFailure>
</configuration>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven.resources.version}</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>resources</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<androidManifestFile>${project.build.directory}/filtered-manifest/AndroidManifest.xml</androidManifestFile>
</configuration>
</plugin> …
Run Code Online (Sandbox Code Playgroud) 大家好,有人可以说我为什么要在我的移动应用程序中使用SQLite数据库?我可以使用任何数据库吗?
我有一个文件夹结构,其中一个主要父文件夹包含许多子文件夹,在这些PNG中,类似于:
.../data
.../data/013523/
.../data/345343/
.../data/395338/
.../data/013523/filex.png
.../data/013523/filey.png
.../data/345343/filea.png
.../data/345343/fileb.png
.../data/345343/filec.png
Run Code Online (Sandbox Code Playgroud)
我想用Windows批处理脚本粉碎所有这些PNG,只知道父data
文件夹的位置(即文件夹名称和png名称是未知的,它应该只是粉碎所有文件夹中的所有PNG).
我看了拖放多个文件的批处理文件?但这似乎并不像我追求的那样.
哦,并没有需要花哨的命名选项,就地破碎是好的.
android ×9
image ×2
.net-core ×1
batch-file ×1
c ×1
database ×1
drawing ×1
filesystems ×1
find ×1
formatting ×1
fortran ×1
gallery ×1
graphics ×1
imagebutton ×1
iphone ×1
jpeg ×1
maven ×1
media-player ×1
middleware ×1
optimization ×1
png ×1
porter-duff ×1
recycle ×1
resources ×1
scrollbar ×1
selector ×1
sqlite ×1
time ×1
tint ×1
uiimage ×1
view ×1