0

私のアプリにはインタラクティブなウィジェットがいくつかありますが、サーバーからデータをロードしている間、このウィジェットは非アクティブ化され、ロードが完了した後に再びアクティブ化される必要があります。ウィジェットを非表示にしたり、すべてのフィールド/ボタンを非アクティブにしたりしたくありません。最良の解決策は、読み込み中にウィジェットをオーバーレイする中央または隅に読み込み中の画像がある透明なパネルです-しかし、それをどのように達成するのですか?

4

2 に答える 2

2

ここでは、開始するための簡単なコードをいくつか示します。私はいくつかのアプリケーションでそれを使用しましたが、それは GWT 2.0 でした。おそらく、ラベルをアニメーション Gif 画像に置き換えて、パネルをルート パネルに追加するだけでうまくいくはずです。

import com.google.gwt.user.client.Event.NativePreviewEvent;
import com.google.gwt.user.client.Event.NativePreviewHandler;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.SimplePanel;

public class GlassPanel extends SimplePanel implements NativePreviewHandler {

    private Label text;

    public GlassPanel() {
        setStyleName("glass-panel");
        add(text = new Label());
    }

    public void setText(String text) {
        this.text.setText(text);
    }

    @Override
    public void onPreviewNativeEvent(NativePreviewEvent event) {
        event.consume();
        event.cancel();
    }
}

CSS:

.glass-panel {
    background-color: black;
    opacity: 0.7;
    filter: alpha(opacity=70);
    z-index: 4000;
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
}
于 2012-04-24T11:27:28.853 に答える
1

'opacity' と 'filter' に加えて 'mozOpacity' を追加することを忘れないでください。

于 2013-04-16T10:24:30.260 に答える