我使用下面的布局实现了一个加载微调器图标:
<RelativeLayout
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:layout_marginTop="50dp">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
/>
</RelativeLayout>
但这使用默认的Android微调器。我想用我从preloaders.net得到的加载图标来替换微调器,如下所示:
如何用此自定义微调器替换默认的Android微调器?
我建议利用这个变体。老实说,你的微调器并没有那么酷,让它成为1比1。
如果你找不到正常的解决方案。你可以提出你的观点。
class DrawThread extends Thread{
private boolean runFlag = false;
private SurfaceHolder surfaceHolder;
private Bitmap picture;
private Matrix matrix;
private long prevTime;
public DrawThread(SurfaceHolder surfaceHolder, Resources resources){
this.surfaceHolder = surfaceHolder;
picture = BitmapFactory.decodeResource(resources, R.drawable.spinner);
matrix = new Matrix();
matrix.postScale(3.0f, 3.0f);
matrix.postTranslate(100.0f, 100.0f);
prevTime = System.currentTimeMillis();
}
public void setRunning(boolean run) {
runFlag = run;
}
@Override
public void run() {
Canvas canvas;
while (runFlag) {
long now = System.currentTimeMillis();
long elapsedTime = now - prevTime;
if (elapsedTime > 30){
prevTime = now;
matrix.preRotate(2.0f, picture.getWidth() / 2, picture.getHeight() / 2);
}
canvas = null;
try {
canvas = surfaceHolder.lockCanvas(null);
synchronized (surfaceHolder) {
canvas.drawColor(Color.BLACK);
canvas.drawBitmap(picture, matrix, null);
}
}
finally {
if (canvas != null) {
surfaceHolder.unlockCanvasAndPost(canvas);
}
}
}
}
}
public class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback {
private DrawThread drawThread;
public MySurfaceView(Context context) {
super(context);
getHolder().addCallback(this);
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
drawThread = new DrawThread(getHolder(), getResources());
drawThread.setRunning(true);
drawThread.start();
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
boolean retry = true;
drawThread.setRunning(false);
while (retry) {
try {
drawThread.join();
retry = false;
} catch (InterruptedException e) {
}
}
}
}
这是我在项目中使用的:
<ProgressBar
android:id="@+id/updateProgressBar"
android:layout_width="40dp"
android:layout_height="40dp"
android:drawingCacheQuality="high"
android:indeterminateDuration="2000"
android:indeterminateDrawable="@drawable/splash_spinner"
/>
只需用您的自定义图像覆盖不可终止的
如果你想让你的PNG图像旋转并充当一个进度条,你可以简单地创建一个rotate
布局,然后在该布局上插入你的PNG
内部res
-
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/pokeball" <--Insert your image here
android:fillAfter="false"
android:fromDegrees="0"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:startOffset="0"
android:toDegrees="718" />
之后,您可以插入您的rotate.xml
到进度条,以便您的PNG文件能够旋转,您只需要保持它的可见性
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_margin="16dp"
android:alpha="0.5"
android:indeterminateDrawable="@drawable/rotate"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
问题内容: 我有一个React应用,可以调用我的API,该API返回URL列表以用作imy图像src。 我用来显示图像加载时的加载微调组件。 我有一个变量来确定图像是否正在加载。 我无法弄清楚如何停止显示正在加载的微调器,并在它们全部加载后显示图像。 这是我的代码: Photos.jsx Photo.jsx 我尝试将我的最后一项用于,但是它永远不会被调用,因为由于仍然显示了微调框,所以它从未设置为
我正在与Spring Boot一起使用JDBI。我遵循了本指南,这导致必须创建一个类:<code>JdbiConfig</code>,对于应用程序上下文中需要的每个dao,您必须添加: 我想知道Spring Boot是否有办法创建一个定制的处理器来创建beans并将它们放入应用程序上下文中。我有两个想法: 使用自定义注释注释DAO并编写一些东西来提取它们。我尝试过只是手动将这些注入到应用程序启动中
本文向大家介绍java 类加载与自定义类加载器详解,包括了java 类加载与自定义类加载器详解的使用技巧和注意事项,需要的朋友参考一下 类加载 所有类加载器,都是ClassLoader的子类。 类加载器永远以.class运行的目录为准。 读取classpath根目录下的文件有以下几种方式: 1 在Java项目中可以通过以下方式获取classspath下的文件: 在Tomcat中tomcat又声明了
我试图修改几个类的字节代码,这些类的打包jar文件不在类路径中-它们是在给定URL的运行时由自定义的加载的。我尝试使用和来拦截那些类,但失败了。类加载器是遗留项目的一部分,因此我无法直接对其进行更改。 代理可以很好地处理AppClassLoader“本地”加载的类,但只会忽略那些由自定义类加载器加载的类。 CustomClassLoader: 我的代理中使用的ClassFileTransforme
问题内容: 我一直在尝试建立一个自定义的类加载器,该类加载器将拦截类以打印出哪些类正在加载到应用程序中。类加载器看起来像这样 它只是吐出它加载的所有类的名称。但是,当我尝试运行一些代码时, 通过 它打印出来 这似乎很奇怪。这不是一个简单的类,它取决于程序包中的许多其他类。这些类显然正在加载中,因为d python代码能够执行操作并读取我的文件。但是,由于某些原因,那些类并未由load的类加载器加载
我的Spring启动应用程序有问题。它似乎不加载自定义css文件。我把它放在资源/静态/css下,我也尝试过在资源/公共/css下,但它也不起作用。 我把我的项目留在git hub帐户上,这样你就可以检查出什么问题了。 GitHub项目 另外,当我打开chrome控制台下的登录页面时,会出现一个警告 资源被解释为样式表,但使用 MIME 类型文本/纯文本传输:“http://localhost:8