W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
WXDomObject 和 Layout 引擎被下沉到 WeexCore 中使用 C++ 實現(xiàn),移除 Java 代碼中的 WXDomObject。此次變更涉及 WXComponent 和 WXDomObject 的適配。
WXDomObject 中的 setMeasureFunction() 方法遷移至 WXComponent 中:
protected void setMeasureFunction(final ContentBoxMeasurement contentBoxMeasurement);
詳見:com.taobao.weex.layout.ContentBoxMeasurement.java
ContentBoxMeasurement 示例請參考:WXText.java / setMeasureFunction() 注意:ContentBoxMeasurement 只支持葉子節(jié)點。
由于 WXDomObject 下沉至 WeexCore 中,所以 getDomObject() 方法已被刪除。
WXComponent 的構造方法刪除了類型為 WXDomObject 的參數,新增了類型為 BasicComponentData 的參數,其余參數保持不變:
public WXComponent(WXSDKInstance instance, WXVContainer parent, int type, BasicComponentData basicComponentData);
public WXComponent(WXSDKInstance instance, WXVContainer parent, BasicComponentData basicComponentData);
你無法在Java代碼中訪問和繼承 WXDomObject,( ImmutableDomObject 接口也已被刪除)
WXDomObject 的部分方法被遷移至 WXComponent中,如需使用,如下:
WXDomObject 中 的 getType() 方法用于獲取組件類型(如:list、div、text、img...),遷移到 WXComponent 后,更名為:
public String getComponentType();
獲取 Layout 結果的6個方法從 WXDomObject 遷移至 WXComponent:
public float getCSSLayoutTop();
public float getCSSLayoutBottom();
public float getCSSLayoutLeft();
public float getCSSLayoutRight();
public float getLayoutWidth();
public float getLayoutHeight();
移除兩個廢棄接口:
public float getLayoutY();
public float getLayoutX();
-keep public class * extends
? ?com.taobao.weex.ui.component.WXComponent{*;}
? WXSDKEngine.registerComponent("richText", RichText.class);
?示例如下:
public class RichText extends WXComponent<TextView> {
public RichText(WXSDKInstance instance, WXDomObject dom, WXVContainer parent) {
super(instance, dom, parent);
}
@Override
protected TextView initComponentHostView(@NonNull Context context) {
TextView textView = new TextView(context);
textView.setTextSize(20);
textView.setTextColor(Color.BLACK);
return textView;
}
@WXComponentProp(name = "tel")
public void setTel(String telNumber) {
getHostView().setText("tel: " + telNumber);
}
}
注冊你的組件:
WXSDKEngine.registerComponent("richText", RichText.class);
JS 調用如下:
<template>
<div>
<richText tel="12305" style="width:200;height:100">12305</richText>
</div>
</template>
從WeexSDK 0.9.5開始,你可以定義組件方法
@JSMethod
public void focus(){
//method implementation
}
注:工程要添加依賴 ?compile
? ?'com.squareup.picasso:picasso:2.5.2'
?
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: