feat:fix Android weight props blend error
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
package pub.doric.shader;
|
||||
|
||||
import android.util.TypedValue;
|
||||
import android.view.Gravity;
|
||||
import android.widget.TextView;
|
||||
|
||||
import pub.doric.DoricContext;
|
||||
@@ -52,7 +53,7 @@ public class TextNode extends ViewNode<TextView> {
|
||||
view.setTextColor(prop.asNumber().toInt());
|
||||
break;
|
||||
case "textAlignment":
|
||||
view.setGravity(prop.asNumber().toInt());
|
||||
view.setGravity(prop.asNumber().toInt() | Gravity.CENTER_VERTICAL);
|
||||
break;
|
||||
default:
|
||||
super.blend(view, name, prop);
|
||||
|
@@ -19,6 +19,7 @@ import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import pub.doric.DoricContext;
|
||||
import pub.doric.DoricRegistry;
|
||||
@@ -66,7 +67,7 @@ public abstract class ViewNode<T extends View> extends DoricContextHolder {
|
||||
this.mId = id;
|
||||
}
|
||||
|
||||
public String getType(){
|
||||
public String getType() {
|
||||
return mType;
|
||||
}
|
||||
|
||||
@@ -93,6 +94,14 @@ public abstract class ViewNode<T extends View> extends DoricContextHolder {
|
||||
} else {
|
||||
params = mLayoutParams;
|
||||
}
|
||||
if (mLayoutParams instanceof LinearLayout.LayoutParams && ((LinearLayout.LayoutParams) mLayoutParams).weight > 0) {
|
||||
if (mSuperNode instanceof VLayoutNode) {
|
||||
params.height = ViewGroup.LayoutParams.MATCH_PARENT;
|
||||
} else if (mSuperNode instanceof HLayoutNode) {
|
||||
params.width = ViewGroup.LayoutParams.MATCH_PARENT;
|
||||
}
|
||||
}
|
||||
|
||||
mView.setLayoutParams(params);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user