protected override void OnElementChanged(ElementChangedEventArgs <Editor> e) { base.OnElementChanged(e); if (Control == null || e.NewElement == null) { return; } XEditor element = (XEditor)e.NewElement; // Placeholder. this.Control.Hint = element.Placeholder; this.Control.SetHintTextColor(ColorStateList.ValueOf(element.PlaceholderColor.ToAndroid())); // Internal Padding. if (element.InternalPadding != default(int)) { var internalPaddingInPx = ConvertToPx(element.InternalPadding); Control.SetPadding(internalPaddingInPx, internalPaddingInPx, internalPaddingInPx, internalPaddingInPx); } // Border color. if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop && element.BorderColor != default(Xamarin.Forms.Color)) { Control.BackgroundTintList = ColorStateList.ValueOf(element.BorderColor.ToAndroid()); } else if (Build.VERSION.SdkInt < BuildVersionCodes.Lollipop && element.BorderColor != Xamarin.Forms.Color.Black) { Control.Background.SetColorFilter(element.BorderColor.ToAndroid(), PorterDuff.Mode.SrcAtop); } element.Unfocused += (sender, evt) => { ChangeColor(element.BorderColor.ToAndroid()); }; element.Focused += (sender, evt) => { ChangeColor(element.BorderColorFocused.ToAndroid()); }; // Text alignment. if (element.HorizontalTextAlignment == Xamarin.Forms.TextAlignment.Center) { Control.Gravity = Android.Views.GravityFlags.CenterHorizontal; } else if (element.HorizontalTextAlignment == Xamarin.Forms.TextAlignment.Start) { Control.Gravity = Android.Views.GravityFlags.Start; } else if (element.HorizontalTextAlignment == Xamarin.Forms.TextAlignment.End) { Control.Gravity = Android.Views.GravityFlags.End; } }
public static void CreateTestCaseFromShader(Shader shaderSource) { string subTestCasePath = testCasePath + "/" + shaderSource.name; //CreateDirectory { if (!Directory.Exists(subTestCasePath)) { Debug.Log("Sub test case path created at: " + subTestCasePath); Directory.CreateDirectory(subTestCasePath); AssetDatabase.ImportAsset(subTestCasePath); } else { Debug.Log("Project exists!"); } XEditor.FocusOnPath(subTestCasePath); } //Create Material { string matPath = subTestCasePath + "/" + shaderSource.name.Replace("/", "_") + ".mat"; Material mat = AssetDatabase.LoadAssetAtPath <Material>(matPath); if (mat == null) { mat = new Material(shaderSource); AssetDatabase.CreateAsset(mat, matPath); AssetDatabase.ImportAsset(matPath); } XEditor.FocusOnPath(matPath); } //Create Instance { for (int i = 0; i < 10; i++) { var go = GameObject.CreatePrimitive(PrimitiveType.Sphere); go.name = shaderSource.name.Replace("/", "_") + "_" + i.ToString(); go.transform.position += Vector3.right * i; var mr = go.GetComponent <MeshRenderer>(); var mat = new Material(shaderSource); mat.SetFloat(ShaderParam1, (i + 1) * 0.1f); mr.sharedMaterial = mat; } } }