Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry 在ui屏幕本身中加载指示,不使用单独屏幕或弹出窗口_Blackberry_Blackberry Eclipse Plugin_Blackberry Jde - Fatal编程技术网

Blackberry 在ui屏幕本身中加载指示,不使用单独屏幕或弹出窗口

Blackberry 在ui屏幕本身中加载指示,不使用单独屏幕或弹出窗口,blackberry,blackberry-eclipse-plugin,blackberry-jde,Blackberry,Blackberry Eclipse Plugin,Blackberry Jde,我想在用户请求一些http连接时显示加载屏幕。我从stackoverflow和google获得了一些很好的示例,但它们都使用单独的屏幕显示加载屏幕。我想在用户请求http连接的同一屏幕中显示加载屏幕。 如果有人有想法,请与我分享,提前谢谢。我通常在主屏幕的状态部分使用仪表字段。使用setStatus(Field)方法进行设置。如果您正在为OS v6.0开发,则RIM已提供用于进度指示的api 对于下面的OS v6.0,下面的代码可能有助于u.i.e ProgressAnimationField,

我想在用户请求一些http连接时显示加载屏幕。我从stackoverflow和google获得了一些很好的示例,但它们都使用单独的屏幕显示加载屏幕。我想在用户请求http连接的同一屏幕中显示加载屏幕。
如果有人有想法,请与我分享,提前谢谢。

我通常在主屏幕的状态部分使用仪表字段。使用setStatus(Field)方法进行设置。

如果您正在为OS v6.0开发,则RIM已提供用于进度指示的api

对于下面的OS v6.0,下面的代码可能有助于u.i.e ProgressAnimationField,它是一个自定义字段,采用位图微调器/加载程序img、其num帧和样式

import net.rim.device.api.system.*;
import net.rim.device.api.ui.*;

/**
 * Custom class for spinner animation
 */
public class ProgressAnimationField extends Field implements Runnable 
{
    private Bitmap _bitmap;
    private int _numFrames;
    private int _frameWidth;
    private int _frameHeight;

    private int _currentFrame;
    private int _timerID = -1;

    private Application _application;
    private boolean _visible;

    public ProgressAnimationField( Bitmap bitmap, int numFrames, long style ) 
    {
        super( style | Field.NON_FOCUSABLE );
        _bitmap = bitmap;
        _numFrames = numFrames;
        _frameWidth = _bitmap.getWidth() / _numFrames;
        _frameHeight = _bitmap.getHeight();

        _application = Application.getApplication();
    }

    public void run() 
    {
        if( _visible ) {
            invalidate();
        }
    }

    protected void layout( int width, int height ) 
    {
        setExtent( _frameWidth, _frameHeight );
    }

    protected void paint( Graphics g ) 
    {
        g.drawBitmap( 0, 0, _frameWidth, _frameHeight, _bitmap, _frameWidth * _currentFrame, 0 );
        _currentFrame++;
        if( _currentFrame >= _numFrames ) {
            _currentFrame = 0;
        }
    }

    protected void onDisplay() 
    {
        super.onDisplay();
        _visible = true;
        if( _timerID == -1 ) {
            _timerID = _application.invokeLater( this, 200, true ); 
        } 
    }

    protected void onUndisplay() 
    {
        super.onUndisplay();
        _visible = false;
        if( _timerID != -1 ) {
            _application.cancelInvokeLater( _timerID );
            _timerID = -1;
        }
    }
}