小编TWi*_*Rob的帖子

使用Glide库设置完成图像加载后进度条的可见性

嗨我想要一个图像的进度条,它将在图像加载时显示,但是当图像加载完成时我想将它设置为消失.早些时候,我正在使用Picasso库.但我不知道如何将它与Glide库一起使用.我知道有一些资源就绪功能,但我不知道如何使用它.谁能帮我?

毕加索图书馆代码

Picasso.with(mcontext).load(imgLinkArray.get(position).mUrlLink)
       .into(imageView, new Callback() {
           @Override
           public void onSuccess() {
               progressBar.setVisibility(View.GONE);
           }

           @Override
           public void onError() {
           }
        })
;
Run Code Online (Sandbox Code Playgroud)

现在我如何用Glide做到这一点?

Glide.with(mcontext).load(imgLinkArray.get(position).mUrlLink)
     .into(imageView);
Run Code Online (Sandbox Code Playgroud)

我可以通过Glide加载图像,但是progressBar.setVisibility(View.GONE);如果图像被加载,我怎么能在代码中写一些东西呢?

android imageview android-glide

80
推荐指数
7
解决办法
6万
查看次数

如何否定Groovy匹配运算符?

文档提到了三个正则表达式特定的运算符:

  • ~ 回来了 Pattern
  • =~ 撤退 Matcher
  • ==~ 回来了 boolean

现在,我怎么能否定最后一个呢?(我同意其他人不能有任何有意义的否定.)

我尝试了一个明显的想法:

println 'ab' ==~ /^a.*/ // true: yay, matches, let's change the input
println 'bb' ==~ /^a.*/ // false: of course it doesn't match, let's negate the operator
println 'bb' !=~ /^a.*/ // true: yay, doesn't match, let change the input again
println 'ab' !=~ /^a.*/ // true: ... ???
Run Code Online (Sandbox Code Playgroud)

我想最后两个应该像这样解释:

println 'abc' != ~/^b.*/
Run Code Online (Sandbox Code Playgroud)

在哪里,我可以看到new String("abc") != new Pattern("^b.*")存在true.

regex groovy

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

ProGuard中-keep和-keepclassmembers有什么区别?

我通过http://proguard.sourceforge.net/index.html#manual/usage.html阅读,但无法得到他们的分歧.

我测试了2个不同的选项并反编译结果.两者似乎都产生了相同的结果.

-keep class * implements android.os.Parcelable {
    *;
}
Run Code Online (Sandbox Code Playgroud)
-keepclassmembers class * implements android.os.Parcelable {
    *;
}
Run Code Online (Sandbox Code Playgroud)

android proguard

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

片段 - removeGlobalOnLayoutListener IllegalStateException

我试图得到的高度和宽度ImageViewFragment有以下ViewTreeObserver:

import android.view.ViewTreeObserver;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;

private ImageView imageViewPicture;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_general_activity_add_recipe, container, false);
    setHasOptionsMenu(true);

    ...

    final ViewTreeObserver observer = imageViewPicture.getViewTreeObserver();
    observer.addOnGlobalLayoutListener (new OnGlobalLayoutListener () {
        @Override public void onGlobalLayout() {
            observer.removeGlobalOnLayoutListener(this);
        }
    });

    return view;
}
Run Code Online (Sandbox Code Playgroud)

运行此代码会导致以下异常:

10-12 23:45:26.145: E/AndroidRuntime(12592): FATAL EXCEPTION: main
10-12 23:45:26.145: E/AndroidRuntime(12592): java.lang.IllegalStateException: This ViewTreeObserver is not alive, call getViewTreeObserver() again
10-12 23:45:26.145: E/AndroidRuntime(12592):     at android.view.ViewTreeObserver.checkIsAlive(ViewTreeObserver.java:509)
10-12 23:45:26.145: E/AndroidRuntime(12592): …
Run Code Online (Sandbox Code Playgroud)

android android-view

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

如何在Android上将Bitmap压缩为JPEG质量损失最小?

这不是一个简单的问题,请仔细阅读!

我想操作JPEG文件并将其再次保存为JPEG.问题是,即使没有操纵,也会出现明显(可见)的质量损失. 问题:我缺少什么选项或API,能够在没有质量损失的情况下重新压缩JPEG(我知道这不完全可能,但我认为我在下面描述的不是可接受的工件级别,特别是质量= 100).

控制

Bitmap从文件加载它:

BitmapFactory.Options options = new BitmapFactory.Options();
// explicitly state everything so the configuration is clear
options.inPreferredConfig = Config.ARGB_8888;
options.inDither = false; // shouldn't be used anyway since 8888 can store HQ pixels
options.inScaled = false;
options.inPremultiplied = false; // no alpha, but disable explicitly
options.inSampleSize = 1; // make sure pixels are 1:1
options.inPreferQualityOverSpeed = true; // doesn't make a difference
// I'm loading the highest possible quality without any scaling/sizing/manipulation
Bitmap …
Run Code Online (Sandbox Code Playgroud)

android jpeg image bitmap image-compression

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

Dagger 2问题覆盖单一提供了应用程序使用的库中的模块的注释方法

GitHub项目链接

在GitHub上做了一个项目,它是我项目实际架构的匕首2架构的模型.这个问题将基于GitHub项目.

我在这个问题中提供了很多代码片段,但是,在Android Studio中自己编译项目以理解问题可能更容易.

如果你检查代码,它将无法编译.进入AppModule.java并注释掉两个提供方法,它应该编译.

主要问题是这篇文章的最后一行.

https://github.com/qazimusab/Dagger2LibraryProject

建筑

我有一个库,其中包含制作应用程序所需的所有代码.这个架构的重点是我在项目中创建的每个应用程序都应该能够使用库,并且通过dagger 2,能够为它自己的模块中的任何单个类或活动提供不同的实现.此时,我在此示例项目中只有一个使用该库的应用程序.

问题

使用dagger,我有相同的体系结构,在app特定的模块(而不是库模块)中,我能够添加一个新的提供注释方法来覆盖任何库模块中提供的任何实现只要

  1. 该方法位于app模块的模块中
  2. 该方法使用@Provides注释
  3. 该方法具有与要覆盖的方法相同的返回类型

使用Dagger 2时,架构可以在我不覆盖任何提供时工作,或者如果我这样做,当我覆盖该模块中的每个提供并从特定于应用程序模块的包中删除该模块时.

例如,在我的项目中,我有一个应用程序和一个库.

该应用程序有一个AppModule; 图书馆有一个CatModule提供Cat和CatFood,一个狗模块提供Dog and DogFood,以及一个LibraryModule提供活动.

CatModule.java

package com.example.qaziahmed.library.application.modules;

import com.example.qaziahmed.library.classes.Cat; import
com.example.qaziahmed.library.classes.CatFood; import
com.example.qaziahmed.library.classes.contract.ICat; import
com.example.qaziahmed.library.classes.contract.ICatFood;

import javax.inject.Singleton;

import dagger.Module; import dagger.Provides;

/**  * Created by qaziahmed on 11/23/15.  */ @Module public class
CatModule {

    @Provides
    @Singleton
    ICat provideCat() {
        return new Cat();
    }

    @Provides
    ICatFood provideCatFood(){
        return new CatFood();
    } }
Run Code Online (Sandbox Code Playgroud)

DogModule.java

package com.example.qaziahmed.library.application.modules;

import com.example.qaziahmed.library.classes.Dog; import
com.example.qaziahmed.library.classes.DogFood; …
Run Code Online (Sandbox Code Playgroud)

java android dependency-injection dagger dagger-2

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

如何删除 GitHub 操作上的环境变量?

语境

https://docs.github.com/en/actions/learn-github-actions/environment-variables上 ,他们描述了一种使用 yaml 添加环境变量的方法:

jobs:
  job_name:
    env:
      NAME: value
Run Code Online (Sandbox Code Playgroud)

在从同一位置链接的https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions/#setting-an-environment-variable上,显示了如何从脚本添加环境变量脚步:

echo "NAME=value" >> $GITHUB_ENV
Run Code Online (Sandbox Code Playgroud)

问题

我正在寻找一种相反的方法:鉴于使用上述选项之一添加了环境变量,请将其完全删除,以便后续作业步骤也看不到它。

我试过

echo "NAME=" >> $GITHUB_ENV
Run Code Online (Sandbox Code Playgroud)

但它只是将其设置为空字符串,我需要它消失,这样就env不再列出它了。

资源

也在 GitHub 社区提出了它:https ://github.community/t/remove-environment-variable-from-job/214815

github-actions

14
推荐指数
0
解决办法
4165
查看次数

使用Glide将位图加载到ImageView中

如何使用Glide库将Bitmap加载到我的ImageView中?我想用文本创建自定义图像,并使用Glide将其加载到imageview中.

这是我用文本创建自定义位图的方法

public Bitmap imageWithText(String text) {
    TextView tv = new TextView(context);
    tv.setText(text);
    tv.setTextColor(Color.WHITE);
    tv.setBackgroundColor(Color.BLACK);
    tv.setTypeface(null, Typeface.BOLD);
    tv.setGravity(Gravity.CENTER);
    tv.setTextSize(20);
    tv.setPadding(0, 25, 0, 0);
    Bitmap testB = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(testB);
    tv.layout(0, 0, 100, 100);
    tv.draw(c);
    return testB;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用滑动加载此位图时,我收到错误

Glide.with(getContext()).load(imageWithText("Random text")).into(holder.imgPhoto);
Run Code Online (Sandbox Code Playgroud)

java android bitmap android-bitmap android-glide

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

如何用SQLite的FTS3实现模糊搜索?

我已经基于官方Android文档集成了搜索,我正在使用以下SQLite架构和查询:

CREATE VIRTUAL TABLE Search USING FTS3 (
    _id,
    name,
    location
);

select * from Search where name MATCH ?
-- where ? is the user typed exact "query"
-- or if it doesn't have spaces or stars I append a star to search prefix: "query*"
Run Code Online (Sandbox Code Playgroud)

我想知道如何扩展它?允许以下内容:

说我有一些名为的物品:

  • 我喜欢的物品
  • 我的秘密物品
  • 项目#1
  • 你喜欢的物品

当用户blah在搜索框中输入内容时,搜索结果会显示:

  • my
    • 喜欢的物品
    • 我的秘密物品
  • mfi
    • 中号 Ÿ ˚F ancy TEM
  • fan item,fanit,fit
    • 我的粉丝 CY EM …

sqlite search android full-text-search fts3

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

在不使用ziparchive的情况下在php中创建一个zip文件

我想在PHP中创建一个zip文件.

服务器环境有限,所以我不能使用ziparchive扩展也不能exec使用shell命令.

是否有一个纯PHP的解决方案,允许我创建.zip档案无论如何?

php zip

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