如何动态更改UI标记中指定的图像?

时间:2013-10-10 19:09:00

标签: uibinder gwt2

对于UI标记,我使用UIBinder。在特定区域,我想放置徽标,然后动态更改它:

<ui:UiBinder 
    xmlns:ui='urn:ui:com.google.gwt.uibinder' 
    xmlns:g='urn:import:com.google.gwt.user.client.ui' >
<ui:with 
    field='res' 
    type='com.myproject.client.resources.Resources' />

<g:Image resource='{res.offline}'/>

ClientBundle:

public interface Resources extends ClientBundle {    
    @Source("offline.png")  
    public ImageResource offline();

    @Source("online.png")  
    public ImageResource online();

    // ... and so on 
}  

当用户开始会话时,他的徽标会发生变化。

如何更改UI标记中声明的图像?我非常感谢这些信息。谢谢大家。

1 个答案:

答案 0 :(得分:0)

解决方案可以如下。

在标记中添加UI:field属性:

<g:Image url='{res.user1.getURL}' ui:field="imageUser1" />

然后,通过以下方式更改属性值:

@UiField Image imageUser1;
imageUser1.setVisible(true/ false);

也可以动态更改图片网址 -

user1.setUrl(offlineImg.getUrl());

另见: