使用Weex 0.16我生成了默认的" WeexDemo"适用于Web,iOS和Android的项目,默认索引文件可以正常运行。
我试图弄清楚我可以放置图像文件和其他资源的文件夹位置。我更改了" logoUrl"从http网址到相对路径(' bg.png')
是否有任何解决方案可以使用同一文件夹删除资产并让所有设备都可以访问这些资源?
答案 0 :(得分:2)
请执行以下操作:
在您的申请类中:
WXSDKEngine.registerComponent("yourImage", YourImage.class);
创建类YourImage.java,它应该如下所示:
public class YourImage extends WXComponent<ImageView> {
public YourImage(WXSDKInstance instance, WXDomObject dom, WXVContainer parent) {
super(instance, dom, parent);
}
@Override
protected ImageView initComponentHostView(@NonNull Context context) {
ImageView imageView = new ImageView(context);
return imageView;
}
@WXComponentProp(name = Constants.Name.SRC)
public void setSrc(String src) {
if (src == null) {
return;
}
if(null != getHostView()) {
Picasso.with(WXEnvironment.getApplication()).load(src).into(getHostView());
}
}
}
在你的vue / js文件中
<yourImage class="image" :src="url"> </yourImage>
在您的WeexUIFragment / Activity中:在通过地图加载页面数据时,添加一个键和值,如下所示:
HashMap<String, Object> map = new HashMap<>();
map.add("image_url", "android local asset url")
map.put("PAGENAME", "");
mWXSDKInstance = new WXSDKInstance(YourCurrentActivity.this);
mWXSDKInstance.registerRenderListener(YourCurrentActivity.this);
mWXSDKInstance.render(pageName, weexJSUrl, map, null, WXRenderStrategy.APPEND_ASYNC);
在脚本/数据块的JS文件中检索资产本地图像url:
const url = _.get(weex,'config.image_url')
如果您需要更多帮助:您可以查看以下链接中的“组件扩展”部分: https://weex.incubator.apache.org/guide/extend-android.html