小编kis*_*idp的帖子

从assets文件夹加载图像

我正在尝试从asset文件夹加载图像,然后将其设置为ImageView.我知道如果我使用这个更好R.id.*,但前提是我不知道图像的id.基本上,我试图通过其文件名动态加载图像.

例如,我随机检索元素的database代表,让我们说"牛",现在该怎么办我的应用程序会做的是显示的图像"牛"通过ImageView.对于所有元素也是如此database.(假设是,每个元素都有一个等价的图像)

提前致谢.

编辑

忘了这个问题,如何从asset文件夹中加载图像?

android assets image

56
推荐指数
5
解决办法
8万
查看次数

Android主题中的windowIsFloating属性

这个属性到底是做什么的?

我已经阅读了文档,我理解它应该是什么.但是,当我在主题中使用它时(我创建了一个带有android:Theme.Dialog父级的样式),更改此属性的值似乎没有任何效果.

android themes window

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

滑动加载缩略图不起作用

我正在使用Glide从视频加载缩略图,但它似乎不适用于我的应用程序.由于某种原因,ImageView只是空的.

Glide.with(context)
            .load(url)
            .asBitmap()
            .thumbnail(0.1f)
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .into(target);
Run Code Online (Sandbox Code Playgroud)

我添加了一个监听器,所以我可以找出错误但抛出的异常为空.

我尝试使用相同的URL使用ThumbnailUtils,因为我认为它可能有问题,但缩略图加载正常.

有没有经历过相同的人?我正在使用Nexus 7(6.0.1)

android android-glide

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

通过覆盖调整滑动大小调整图像不会调整图像大小

我正在使用Glide下载和显示图像,但是,当我尝试调整图像大小时,它不会这样做.我得到随机大小(或者可能是图像的实际大小).

这是我用于通过Glide加载的代码

Glide.with(context)
     .load(file.getUrl())
     .asBitmap()
     .diskCacheStrategy(DiskCacheStrategy.ALL)
     .centerCrop()
     .transform(new CropCircleTransform(context))
     .override(dimen, dimen)
     .into(new SimpleTarget<Bitmap>() {
        @Override
        public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
          bitmap = resource;

          Log.info(resource.getWidth() + "x" + resource.getHeight());
        }
      });
Run Code Online (Sandbox Code Playgroud)

CropCircleTransform只呈现位图圆形,中心作物.我尝试删除它只是为了测试此方法是否导致问题,但图像仍然没有调整到我指定的维度.

我的代码有什么问题吗?或者我在这里误解了覆盖方法?

编辑:
尝试删除覆盖,它似乎已加载大图像,这意味着实际上使用覆盖时发生调整大小.

为什么它不会调整到我指定的实际值?

编辑:
作为示例,值为dimen96,但图像日志中显示的尺寸为97x97,117x117,154x154等.

这是否意味着,覆盖方法的值是调整大小的基线而不是要使用的实际维度?

android android-glide

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

当应用程序在后台时,FCM显示重复的通知

我在项目中实施了FCM。推送通知按预期方式工作,在收到通知时调用onMessageReceived。当应用程序位于前台时,这是正确的。

但是,当应用程序在后台运行时,系统托盘始终在到达时显示重复的通知(例如,收到通知A时,系统托盘显示2通知A)。

如何解决这个问题?

编辑:添加代码

我扩展了FirebaseMessagingService类并将其包含在onMessageReceived方法中

这是项目中我使用NotificationManager的唯一部分。

另外,我尝试在此方法上添加日志。当应用程序处于前台时,将调用onMessageReceived。应用程序在后台时不会被调用

@Override
public void onMessageReceived(RemoteMessage remoteMessage)
{
    RemoteMessage.Notification notification = remoteMessage.getNotification();

        Intent intent = new Intent(this, MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
                PendingIntent.FLAG_ONE_SHOT);

        String title = notification.getTitle();
        String message = notification.getBody();

        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
                .setSmallIcon(R.mipmap.ic_launcher)
                .setContentTitle(title)
                .setContentText(message)
                .setAutoCancel(true)
                .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE)
                .setContentIntent(pendingIntent);


        NotificationManager notificationManager =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

        notificationManager.notify(0, notificationBuilder.build());
}
Run Code Online (Sandbox Code Playgroud)

android android-notifications firebase firebase-cloud-messaging

6
推荐指数
3
解决办法
8320
查看次数

strings.xml android 中重复的字符串资源

Android 中还有其他方法检查重复的字符串资源吗?

假设我有这两个字符串:

<!-- some other strings -->
<string name="A">I'm A</string>
<string name="A">I'm A</string>
<!-- some other strings -->
Run Code Online (Sandbox Code Playgroud)

在我的 Eclipse 中,这不会导致任何错误或警告,即使我尝试使用 lint,它也不会显示。那我怎么能看到这样的问题呢?

xml android

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

如何在Android中并行运行线程

我正在尝试并行运行多个线程.我试图通过拥有一个线程的多个实例来实现这一点.我的假设是它将同时执行; 但是,线程正在按顺序执行.

这是我测试的一个简单代码:

new Thread(new Runnable() {
        @Override
        public void run() {
            for (int i=0; i<100; i++) {
                LMLog.info("THREAD", "Counting " + i + " in Thread A");
            }
        }
    }).start();
    new Thread(new Runnable() {
        @Override
        public void run() {
            for (int i=0; i<100; i++) {
                LMLog.info("THREAD", "Counting " + i + " in Thread B");
            }
        }
    }).start();
    new Thread(new Runnable() {
        @Override
        public void run() {
            for (int i=0; i<100; i++) {
                LMLog.info("THREAD", "Counting " + i + …
Run Code Online (Sandbox Code Playgroud)

java multithreading android android-studio

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

在 Android 项目中使用 Realm 仅支持 armeabi

我正在尝试使用领域。我设置了 build.gradle 并在应用程序启动时调用了 Realm.init(context)。

问题是,应用程序在启动时崩溃。

这是日志:

java.lang.RuntimeException: Unable to create application com.test.android com.getkeepsafe.relinker.MissingLibraryException: lib/armeabi/librealm-jni.so
                                                                         at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5406)
                                                                         at android.app.ActivityThread.-wrap2(ActivityThread.java)
                                                                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
                                                                         at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                         at android.os.Looper.loop(Looper.java:154)
                                                                         at android.app.ActivityThread.main(ActivityThread.java:6119)
                                                                         at java.lang.reflect.Method.invoke(Native Method)
                                                                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                                                                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
                                                                      Caused by: com.getkeepsafe.relinker.MissingLibraryException: lib/armeabi/librealm-jni.so
                                                                         at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary(ApkLibraryInstaller.java:85)
                                                                         at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal(ReLinkerInstance.java:180)
                                                                         at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary(ReLinkerInstance.java:136)
                                                                         at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:70)
                                                                         at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:57)
                                                                         at io.realm.internal.RealmCore.loadLibrary(RealmCore.java:59)
                                                                         at io.realm.Realm.init(Realm.java:187)
Run Code Online (Sandbox Code Playgroud)

该项目使用另一个仅支持armeabi. 这就是为什么我添加了 abiFilter

ndk { abiFilters "armeabi" }

在此处添加其他值将导致该库崩溃。

有没有办法只将 Realm 用于“armeabi”?

android realm android-ndk

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

Fresco Android GIF/WEBP动画无法播放

我决定使用Fresco它,因为它提供了我的问题的解决方案:GIFWEBP播放.

根据文件:http://frescolib.org/docs/animations.html

我可以使用这些代码自动播放动画:

   Uri uri;
   DraweeController controller = Fresco.newDraweeControllerBuilder()
       .setUri(uri)
       .setAutoPlayAnimations(true)
       . // other setters
       .build();
   mSimpleDraweeView.setController(controller);
Run Code Online (Sandbox Code Playgroud)

但是,当我使用代码时,它只显示静态图像.

为了玩GIF/WEBP,我还需要做任何其他步骤吗?或者我误解了文档对"动画"的使用?

编辑:

附加信息,在使用ControllerListener时,我发现onFinalImageSet()中的Animatable返回值为null.我不知道为什么.

我也试过运行这个示例项目,但.gif也没有动画:https://github.com/kaedea/fresco-sample-usage

我正在使用Nexus 5X测试btw(版本6.0.1)

android fresco

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