小编Jos*_*arl的帖子

如何在焦点/按下时更改ImageButton的色调

我有一个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 image tint selector imagebutton

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

是否有工具可以在Android项目中查找未使用的资源?

我想在我的Android项目中找到任何未使用的资源 - 包括字符串,id,drawable,整数等.

目前是否存在执行此操作的工具(最好是Eclipse)?

resources android find

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

在View上启用HW加速,在矩形覆盖中打孔

我有一个视图,它做了一些基本的绘图.在此之后,我想绘制一个打孔的矩形,这样只能看到上一个图形的一个区域.我想为我的视图启用硬件加速以获得最佳性能.

目前我有两种方法可以工作,但只有在禁用硬件加速时才有效,而另一种方法太慢.

方法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)

graphics android drawing hardware-acceleration porter-duff

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

如何在Android中向LinearLayout添加滚动条?

如何在Android中的视图中添加滚动条?

我尝试添加android:scrollbars:"vertical"LinearLayout我的布局XML文件但它无法正常工作.

我认为默认情况下在Android中绘制了滚动条,但它似乎并非如此.看来我们必须自己画画 - 我该怎么做?

android scrollbar android-linearlayout

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

捕获错误:损坏的JPEG数据:数据段的过早结束

创建具有损坏/不完整JPEG数据的UIImage时,控制台将打印出来

<Error>: Corrupt JPEG data: premature end of data segment

将显示不完整的图像,灰色填满不完整的部分.我不希望这种情况发生.

我拼命尝试使用try-catch块,但它没有捕获错误.有没有办法抓住错误?

iphone jpeg uiimage

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

是否存在使用View回收替换Gallery小部件?

Android上的默认Gallery小部件不会回收视图 - 每次调用新位置的视图时,小部件总是调用getView适配器的方法convertView设置为null.

当您向后和向前滚动时,这会在创建的大量视图中结束,Gallery中存储的回收器组件似乎不会足够快地回收它们导致OOM情况.

您可以使用一些大图像作为您的图库项目轻松测试,但只有TextView最终会导致它.在getView适配器的方法中放置带有计数器的日志语句,以查看创建了多少新视图.

是否存在行为类似Gallery但又实现视图回收的第三方窗口小部件?

android view gallery out-of-memory recycle

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

如何使用MVC的内容协商在ASP.NET Core MVC中间件中返回响应?

我有一些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)

middleware asp.net-core-mvc .net-core asp.net-core-2.0

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

如何正确显示MediaPlayer的位置/持续时间?

嗨我想以简单的日期格式显示玩家位置和玩家持续时间.那是.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.

formatting time android media-player

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

如何在没有SyncAdapter的情况下在Android上实施帐户

我正在使用内置帐户系统(使用AccountManager API)为Android应用程序实现登录系统.

在Android 2.2+上一切都很好,但在Android 2.1上不包括SyncAdapter导致在帐户设置屏幕中重新启动(请参阅http://code.google.com/p/android/issues/detail?id=5009AccountManager没有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

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

在运行令人尴尬的并行作业时,避免重载并行文件系统的最佳方法是什么?

我们遇到一个令人尴尬的并行问题 - 我们运行一个单个程序的大量实例,每个程序都有不同的数据集; 我们只需将应用程序多次提交到具有不同参数的批处理队列即可.

但是,由于有大量工作,并非所有工作都完成.它似乎不是队列中的问题 - 所有作业都已启动.

问题似乎是,随着应用程序的大量实例运行,许多作业大致同时完成,因此所有人都试图在几乎同时将其数据写入并行文件系统.

然后问题似乎是程序无法写入文件系统并以某种方式崩溃,或者只是坐在那里等待写入,批处理队列系统在等待太长时间后就会终止作业.(从我收集的问题来看,大多数未能完成的工作,如果不是全部,都不会留下核心文件)

调度磁盘写入以避免此问题的最佳方法是什么?我提到我们的程序是令人尴尬的并行突出显示每个进程都不知道其他进程的事实 - 他们不能互相交谈以某种方式安排他们的写入.

虽然我有程序的源代码,但我们希望解决问题而不必在可能的情况下修改它,因为我们不维护或开发它(加上大多数注释都是意大利语).

我对此事有一些想法:

  1. 每个作业首先写入节点的本地(暂存)磁盘.然后我们可以运行另一个工作,它会立即检查已完成的作业,并将文件从本地磁盘移动到并行文件系统.
  2. 在主/从系统中使用围绕程序的MPI包装器,其中主服务器管理作业队列并将这些作业关闭到每个从属服务器; 从属包装器运行应用程序并捕获异常(我可以为C++中的文件系统超时可靠地执行此操作,或者可能是Java吗?),并将消息发送回主服务器以重新运行作业

与此同时,我需要纠缠我的主管以获取有关错误本身的更多信息 - 我从未亲自遇到过它,但我还没有将程序用于大量数据集(尚未).

如果它有用:我们在HPC系统上使用SGE(Sun GridEngine)批处理队列系统运行Solaris.文件系统是NFS4,存储服务器也运行Solaris.HPC节点和存储服务器通过光纤通道链路进行通信.

c filesystems parallel-processing fortran embarrassingly-parallel

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

使用Android Studio/IntelliJ时,为什么我的pom没有正确执行?

我有一个用Maven构建的Android应用程序.使用buildnumber-maven-plugin和maven-resources-plugin我将maven项目版本和git commit hash插入AndroidManifest.该createbuildnumber - Maven的插件的目标,在运行validate阶段和resourcesMaven的资源,插件的目标,在运行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)

android intellij-idea maven android-manifest android-studio

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

Android中有哪些类型的数据库?

大家好,有人可以说我为什么要在我的移动应用程序中使用SQLite数据库?我可以使用任何数据库吗?

database sqlite android

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

用于压缩所有子文件夹中所有文件的批处理脚本

我有一个文件夹结构,其中一个主要父文件夹包含许多子文件夹,在这些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).

我看了拖放多个文件的批处理文件?但这似乎并不像我追求的那样.

哦,并没有需要花哨的命名选项,就地破碎是好的.

optimization png image batch-file

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