public async Task SnackBar(string message, TypeSnack typesnack) { if (typesnack == TypeSnack.Error) { Activity activity = CrossCurrentActivity.Current.Activity; Android.Views.View activityRootView = activity.FindViewById(Android.Resource.Id.Content); Android.Support.Design.Widget.Snackbar snackBar = Android.Support.Design.Widget.Snackbar.Make(activityRootView, message, Snackbar.LengthLong); snackBar.SetActionTextColor(Android.Graphics.Color.ParseColor("#FFFFFF")); Android.Views.View snackbarview = snackBar.View; snackbarview.SetBackgroundResource(Resource.Drawable.snackerror); ViewGroup.MarginLayoutParams paramss = (ViewGroup.MarginLayoutParams)snackbarview.LayoutParameters; paramss.SetMargins(30, 0, 30, 40); snackbarview.SetBackground( MainActivity.CurrentActivity.ApplicationContext.GetDrawable(Resource.Drawable.snackerror)); snackBar.Show(); } else { Activity activity = CrossCurrentActivity.Current.Activity; Android.Views.View activityRootView = activity.FindViewById(Android.Resource.Id.Content); Android.Support.Design.Widget.Snackbar snackBar = Android.Support.Design.Widget.Snackbar.Make(activityRootView, message, Snackbar.LengthLong); snackBar.SetActionTextColor(Android.Graphics.Color.ParseColor("#FFFFFF")); Android.Views.View snackbarview = snackBar.View; snackbarview.SetBackgroundResource(Resource.Drawable.snackBackground); ViewGroup.MarginLayoutParams paramss = (ViewGroup.MarginLayoutParams)snackbarview.LayoutParameters; paramss.SetMargins(30, 0, 30, 40); snackbarview.SetBackground( MainActivity.CurrentActivity.ApplicationContext.GetDrawable(Resource.Drawable.snackBackground)); snackBar.Show(); } }
private void showArrow(int whichArrow, float requestedX, float rootWidth) { View showArrow = (whichArrow == Resource.Id.arrow_up) ? mArrowUp : mArrowDown; View hideArrow = (whichArrow == Resource.Id.arrow_up) ? mArrowDown : mArrowUp; showArrow.Visibility = ViewStates.Visible; int arrowWidth = showArrow.MeasuredWidth; ViewGroup.MarginLayoutParams param = (ViewGroup.MarginLayoutParams)showArrow.LayoutParameters; if (requestedX > rootWidth - 17 - arrowWidth / 2) { requestedX = rootWidth - 17 - arrowWidth / 2; } else if (requestedX < 17 + arrowWidth / 2) { requestedX = 17 + arrowWidth / 2; } param.LeftMargin = (int)Math.Round(requestedX - arrowWidth / 2); hideArrow.Visibility = ViewStates.Invisible; showArrow.Invalidate(); hideArrow.Invalidate(); }
public static ViewGroup.MarginLayoutParams WithMargins(this ViewGroup.MarginLayoutParams self, int?left, int?top, int?right, int?bottom) { var actualTop = top ?? self.TopMargin; var actualLeft = left ?? self.LeftMargin; var actualRight = right ?? self.RightMargin; var actualBottom = bottom ?? self.BottomMargin; switch (self) { case LinearLayout.LayoutParams linearParams: var newLinearLayoutParams = new LinearLayout.LayoutParams(self); newLinearLayoutParams.SetMargins(actualLeft, actualTop, actualRight, actualBottom); return(newLinearLayoutParams); case RelativeLayout.LayoutParams relativeParams: var newRelativeLayoutParams = new RelativeLayout.LayoutParams(self); newRelativeLayoutParams.SetMargins(actualLeft, actualTop, actualRight, actualBottom); return(newRelativeLayoutParams); case FrameLayout.LayoutParams frameParams: var newFrameLayoutParams = new FrameLayout.LayoutParams(self); newFrameLayoutParams.SetMargins(actualLeft, actualTop, actualRight, actualBottom); return(newFrameLayoutParams); case RecyclerView.LayoutParams recyclerParams: var newRecyclerParams = new FrameLayout.LayoutParams(self); newRecyclerParams.SetMargins(actualLeft, actualTop, actualRight, actualBottom); return(newRecyclerParams); } return(null); }
public void wrapTabIndicatorToTitle(TabLayout tabLayout, int externalMargin, int internalMargin) { View tabStrip = tabLayout.GetChildAt(0); if (tabStrip is ViewGroup) { ViewGroup tabStripGroup = (ViewGroup)tabStrip; int childCount = ((ViewGroup)tabStrip).ChildCount; for (int i = 0; i < childCount; i++) { View tabView = tabStripGroup.GetChildAt(i); tabView.SetMinimumWidth(0); tabView.SetPadding(0, tabView.PaddingTop, 0, tabView.PaddingBottom); if (tabView.LayoutParameters is ViewGroup.MarginLayoutParams) { ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams)tabView.LayoutParameters; if (i == 0) { setMargin(layoutParams, externalMargin, internalMargin); } else if (i == childCount - 1) { setMargin(layoutParams, internalMargin, externalMargin); } else { setMargin(layoutParams, internalMargin, internalMargin); } } } tabLayout.RequestLayout(); } }
public void UpdateSnackbar(CoordinatorLayout parent, View dependency, View child) { if (!_isTablet && _isShy && dependency is Snackbar.SnackbarLayout) { if (_snackbarHeight == -1) { _snackbarHeight = dependency.Height; } if (ViewCompat.GetTranslationY(child) != 0) { return; } int targetPadding = _bottomNavHeight + _snackbarHeight - _defaultOffset; ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams)dependency.LayoutParameters; layoutParams.BottomMargin = targetPadding; child.BringToFront(); child.Parent.RequestLayout(); if (Build.VERSION.SdkInt < BuildVersionCodes.Kitkat) { ((View)child.Parent).Invalidate(); } } }
public async Task SnackBarSucces(string message, string title, TypeSnackBar typeSnackBar) { if (typeSnackBar == TypeSnackBar.Bottom) { Activity activity = CrossCurrentActivity.Current.Activity; Android.Views.View activityRootView = activity.FindViewById(Android.Resource.Id.Content); Android.Support.Design.Widget.Snackbar snackBar = Android.Support.Design.Widget.Snackbar.Make(activityRootView, message, Snackbar.LengthLong); snackBar.SetActionTextColor(Android.Graphics.Color.ParseColor("#FFFFFF")); Android.Views.View snackbarview = snackBar.View; snackbarview.SetBackgroundResource(Resource.Drawable.snackBackground); ViewGroup.MarginLayoutParams paramss = (ViewGroup.MarginLayoutParams)snackbarview.LayoutParameters; paramss.SetMargins(30, 0, 30, 40); snackbarview.LayoutParameters = paramss; snackbarview.SetBackground( MainActivity.Current.ApplicationContext.GetDrawable(Resource.Drawable.snackBackground)); snackBar.Show(); } else if (typeSnackBar == TypeSnackBar.Top) { CookieBar.Build(MainActivity.Current) .SetIcon(Resource.Drawable.ic_done) .SetTitle(title) .SetIconAnimation(Resource.Animator.iconspin) .SetBackgroundColor(Resource.Color.backgroundcoockiesuccess) .SetTitleColor(Resource.Color.cookiebartitle) .SetMessageColor(Resource.Color.cookiebartitle) .SetMessage(message) .SetEnableAutoDismiss(true) .SetSwipeToDismiss(true) .Show(); } }
private void SetMargin(View child) { int margin = DpToPx(8); var param = new ViewGroup.MarginLayoutParams(child.LayoutParameters); param.SetMargins(margin, margin, margin, margin); child.LayoutParameters = param; }
public static void SetMargins(this View v, int l, int t, int r, int b) { if (v.LayoutParameters is ViewGroup.MarginLayoutParams) { ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams)v.LayoutParameters; p.SetMargins(l, t, r, b); v.RequestLayout(); } }
private static void SetTopMargin(View v, int topMargin) { ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams)v.LayoutParameters; if (lp.TopMargin != topMargin) { lp.TopMargin = topMargin; v.LayoutParameters = lp; } }
private void SetMapviewMargin(int margin) { // Get the layout parameters for the container. ViewGroup.MarginLayoutParams parameters = (ViewGroup.MarginLayoutParams)_layoutContainer.LayoutParameters; // Set the margins. parameters.SetMargins(margin, margin, margin, margin); // Apply the layout. _layoutContainer.LayoutParameters = parameters; }
public override void OnWindowFocusChanged(bool hasFocus) { ViewGroup.MarginLayoutParams lParams = (ViewGroup.MarginLayoutParams)viewC1.LayoutParameters; animateView(view1); animateView(view2, viewC1.Width + lParams.RightMargin); animateView(view3, viewC1.Width + lParams.RightMargin); animateView(view4); animateView(view5); animateView(view6); }
private void SetActionBarMargin(ViewGroup.MarginLayoutParams parameters, Activity activity) { var actionBarContainerId = Android.Content.Res.Resources.System.GetIdentifier("action_bar_container", "id", "android"); var actionBarContainer = activity.FindViewById(actionBarContainerId); // The action bar is present: the app is using a Holo theme. if (null != actionBarContainer) { parameters.TopMargin = actionBarContainer.Bottom; } }
/** * Adds a {@link Crouton} to the {@link ViewParent} of it's {@link Activity}. * * @param crouton * The {@link Crouton} that should be added. */ private void AddCroutonToView(Crouton crouton) { // don't Add if it is already showing if (crouton.IsShowing()) { return; } View croutonView = crouton.GetView(); if (null == croutonView.Parent) { ViewGroup.LayoutParams parameters = croutonView.LayoutParameters; if (null == parameters) { parameters = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); } // display Crouton in ViewGroup is it has been supplied if (null != crouton.GetViewGroup()) { ViewGroup croutonViewGroup = crouton.GetViewGroup(); if (ShouldAddViewWithoutPosition(croutonViewGroup)) { croutonViewGroup.AddView(croutonView, parameters); } else { croutonViewGroup.AddView(croutonView, 0, parameters); } } else { Activity activity = crouton.GetActivity(); if (null == activity || activity.IsFinishing) { return; } HandleTranslucentActionBar((ViewGroup.MarginLayoutParams)parameters, activity); HandleActionBarOverlay((ViewGroup.MarginLayoutParams)parameters, activity); activity.AddContentView(croutonView, parameters); } } croutonView.RequestLayout(); // This is needed so the animation can use the measured with/height ViewTreeObserver observer = croutonView.ViewTreeObserver; if (null != observer) { CallOnGlobalLayout(crouton, croutonView); } }
private static void SetupProgressDialog(MaterialDialog dialog) { MaterialDialog.Builder builder = dialog.mBuilder; if (builder.mIndeterminateProgress || builder.mProgress > -2) { dialog.mProgress = (ProgressBar)dialog.view.FindViewById(Android.Resource.Id.Progress); // Manually color progress bar on pre-Lollipop, since Material/AppCompat themes only do it on API 21+ if (Build.VERSION.SdkInt < BuildVersionCodes.Lollipop) { Drawable indDraw = dialog.mProgress.IndeterminateDrawable; if (indDraw != null) { indDraw.SetColorFilter(builder.accentColor, PorterDuff.Mode.SrcAtop); dialog.mProgress.IndeterminateDrawable = indDraw; } Drawable regDraw = dialog.mProgress.ProgressDrawable; if (regDraw != null) { regDraw.SetColorFilter(builder.accentColor, PorterDuff.Mode.SrcAtop); dialog.mProgress.ProgressDrawable = regDraw; } } if (!builder.mIndeterminateProgress) { dialog.mProgress.Progress = 0; dialog.mProgress.Max = builder.mProgressMax; dialog.mProgressLabel = (TextView)dialog.view.FindViewById(Resource.Id.label); dialog.mProgressMinMax = (TextView)dialog.view.FindViewById(Resource.Id.minMax); if (builder.mShowMinMax) { dialog.mProgressMinMax.Visibility = ViewStates.Visible; dialog.mProgressMinMax.Text = "0/" + builder.mProgressMax; ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams)dialog.mProgress.LayoutParameters; lp.LeftMargin = 0; lp.RightMargin = 0; } else { dialog.mProgressMinMax.Visibility = ViewStates.Gone; } dialog.mProgressLabel.Text = "0%"; } if (builder.title == null) { // Redistribute main frame's bottom padding to the top padding if there's no title View mainFrame = dialog.view.FindViewById(Resource.Id.mainFrame); mainFrame.SetPadding(mainFrame.PaddingLeft, mainFrame.PaddingBottom, mainFrame.PaddingRight, mainFrame.PaddingBottom); } } }
private void HandleActionBarOverlay(ViewGroup.MarginLayoutParams parameters, Activity activity) { // ActionBar overlay is only available as of Android 3.0 Honeycomb. if (Build.VERSION.SdkInt >= Build.VERSION_CODES.Honeycomb) { bool flags = activity.Window.HasFeature(WindowFeatures.ActionBarOverlay); if (flags) { SetActionBarMargin(parameters, activity); } } }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Login); RequestedOrientation = ScreenOrientation.SensorPortrait; Button button = FindViewById <Button>(Resource.Id.btLogin); button.Click += btloginClick; Button buttonForgot = FindViewById <Button>(Resource.Id.btForgot); buttonForgot.Click += btForgotClick; username = FindViewById <EditText>(Resource.Id.tv_username); username.SetOnEditorActionListener(this); password = FindViewById <EditText>(Resource.Id.tv_password); password.SetOnEditorActionListener(this); cb_rememberMe = FindViewById <CheckBox>(Resource.Id.cb_rememberMe); cb_rememberMe.SetOnEditorActionListener(this); var RemmemberMe = Settings.RememberMe; if (RemmemberMe) { cb_rememberMe.Checked = true; var temp = Settings.Username; username.Text = temp; password.Text = Settings.Password; } var metrics = Resources.DisplayMetrics; var widthInDp = ConvertPixelsToDp(metrics.WidthPixels); var heightInDp = ConvertPixelsToDp(metrics.HeightPixels); if (heightInDp > 1024) { linearLayout4 = FindViewById <LinearLayout>(Resource.Id.linearLayout4); ViewGroup.MarginLayoutParams ll = (ViewGroup.MarginLayoutParams)linearLayout4.LayoutParameters; ll.TopMargin = 55; } Context context = this.ApplicationContext; Version = context.PackageManager.GetPackageInfo(context.PackageName, 0).VersionName; }
/** * Update floating action button bottom margin */ public void updateFloatingActionButton(View dependency) { if (dependency != null && dependency is FloatingActionButton) { floatingActionButton = (FloatingActionButton)dependency; if (!fabBottomMarginInitialized && dependency.LayoutParameters is ViewGroup.MarginLayoutParams) { fabBottomMarginInitialized = true; ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams)dependency.LayoutParameters; fabDefaultBottomMargin = p.BottomMargin; } } }
private void setMargin(ViewGroup.MarginLayoutParams layoutParams, int start, int end) { if (Build.VERSION.SdkInt >= BuildVersionCodes.JellyBeanMr1) { layoutParams.MarginStart = start; layoutParams.MarginEnd = end; } else { layoutParams.LeftMargin = start; layoutParams.RightMargin = end; } }
private void HandleTranslucentActionBar(ViewGroup.MarginLayoutParams parameters, Activity activity) { // Translucent status is only available as of Android 4.4 Kit Kat. if (Build.VERSION.SdkInt >= Build.VERSION_CODES.Kitkat) { var flags = (int)activity.Window.Attributes.Flags; var translucentStatusFlag = (int)WindowManagerFlags.TranslucentStatus; if ((flags & translucentStatusFlag) == translucentStatusFlag) { SetActionBarMargin(parameters, activity); } } }
/// <summary> /// Get a view to represent a single item in the list. /// </summary> /// <param name="position">The index of the item to retrieve a view for.</param> /// <param name="convertView">A View that may be recycled.</param> /// <param name="parent">The owner of the new view.</param> /// <returns>The new View.</returns> public override View GetView(int position, View convertView, ViewGroup parent) { TextView res = convertView as TextView; if (res == null) { res = new TextView(context.Activity); res.SetTextAppearance(Android.Resource.Style.TextAppearanceMedium); var layoutParams = new ViewGroup.MarginLayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); int margin = (int)(5f * context.Activity.Resources.DisplayMetrics.Density); res.LayoutParameters = layoutParams; res.SetPadding(0, margin, 0, margin); } res.Text = this[position].Name; return res; }
private void handleActionBarOverlay(ViewGroup.MarginLayoutParams parameters, Activity activity) { // ActionBar overlay is only available as of Android 3.0 Honeycomb. if (Build.VERSION.SdkInt < BuildVersionCodes.Honeycomb) { return; } var flags = activity.Window.HasFeature(WindowFeatures.ActionBarOverlay); if (flags) { SetActionBarMargin(parameters, activity); } }
/** * Update Snackbar bottom margin */ public void updateSnackbar(View child, View dependency) { if (dependency != null && dependency is Snackbar.SnackbarLayout) { snackbarLayout = (Snackbar.SnackbarLayout)dependency; if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat) { snackbarLayout.AddOnLayoutChangeListener( new CustomIOnLayoutChangeListener( (View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) => { if (floatingActionButton != null && floatingActionButton.LayoutParameters is ViewGroup.MarginLayoutParams) { ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams)floatingActionButton.LayoutParameters; snackBarY = bottom - v.GetY(); fabTargetOffset = fabDefaultBottomMargin - child.TranslationY + snackBarY; p.SetMargins(p.LeftMargin, p.TopMargin, p.RightMargin, (int)fabTargetOffset); floatingActionButton.RequestLayout(); } // Pass navigation height to listener if (navigationPositionListener != null) { navigationPositionListener.onPositionChange((int)(child.MeasuredHeight - child.TranslationY + snackBarY)); } } ) ); } if (mSnackbarHeight == -1) { mSnackbarHeight = dependency.Height; } int targetMargin = (int)(child.MeasuredHeight - child.TranslationY); if (Build.VERSION.SdkInt < BuildVersionCodes.Lollipop) { child.BringToFront(); } if (dependency.LayoutParameters is ViewGroup.MarginLayoutParams) { ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams)dependency.LayoutParameters; p.SetMargins(p.LeftMargin, p.TopMargin, p.RightMargin, targetMargin); dependency.RequestLayout(); } } }
/// <summary> /// Show arrow /// </summary> /// <param name="whichArrow"> arrow type resource id </param> /// <param name="requestedX"> distance from left screen </param> private void ShowArrow(int whichArrow, int requestedX) { View showArrow = (whichArrow == Resource.Id.arrow_up) ? mArrowUp : mArrowDown; View hideArrow = (whichArrow == Resource.Id.arrow_up) ? mArrowDown : mArrowUp; int arrowWidth = mArrowUp.MeasuredWidth; showArrow.Visibility = ViewStates.Visible; ViewGroup.MarginLayoutParams param = (ViewGroup.MarginLayoutParams)showArrow.LayoutParameters; param.LeftMargin = requestedX - arrowWidth / 2; hideArrow.Visibility = ViewStates.Invisible; }
private void OnGlobalLayoutChanged(ViewTreeObserver.IOnGlobalLayoutListener listener) { mRootLayout.ViewTreeObserver.RemoveOnGlobalLayoutListener(listener); mPagerElementActiveSize = mPagerIconsContainer.Height; mPagerElementNormalSize = System.Math.Min(mPagerIconsContainer.GetChildAt(0).Height, mPagerIconsContainer.GetChildAt(mPagerIconsContainer.ChildCount - 1).Height); ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams)mPagerIconsContainer.GetChildAt(0).LayoutParameters; mPagerElementLeftMargin = layoutParams.LeftMargin; mPagerElementRightMargin = layoutParams.RightMargin; mPagerIconsContainer.SetX(CalculateNewPagerPosition(0)); mContentCenteredContainer.SetY((mContentRootLayout.Height / 2)); }
public void Run() { try { int textLengthNew = Option.TextLength; if (Option.TextLengthType == TypeLine) { if (TextView.Layout.LineCount <= Option.TextLength) { TextView.SetText(Text, TextView.BufferType.Spannable); return; } ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams)TextView.LayoutParameters; string subString = Text.ToString().Substring(TextView.Layout.GetLineStart(0), TextView.Layout.GetLineEnd(Option.TextLength - 1)); textLengthNew = subString.Length - (Option.MoreLabel.Length + 4 + lp.RightMargin / 6); } SpannableStringBuilder spendableStringBuilder = new SpannableStringBuilder(Text.SubSequence(0, textLengthNew)); spendableStringBuilder.Append(" ..."); spendableStringBuilder.Append(Option.MoreLabel); SpannableString ss = SpannableString.ValueOf(spendableStringBuilder); ClickableSpan rclickableSpan = new StRclickableSpan(Option, TextView, Text, StTools.StTypeText.ReadMore); ss.SetSpan(rclickableSpan, ss.Length() - Option.MoreLabel.Length, ss.Length(), SpanTypes.ExclusiveExclusive); switch (Build.VERSION.SdkInt) { case >= BuildVersionCodes.JellyBean when Option.ExpandAnimation: { LayoutTransition layoutTransition = new LayoutTransition(); layoutTransition.EnableTransitionType(LayoutTransitionType.Changing); ((ViewGroup)TextView?.Parent).LayoutTransition = layoutTransition; break; } } //TextView.SetTextFuture(PrecomputedTextCompat.GetTextFuture(ss, TextViewCompat.GetTextMetricsParams(TextView), null)); TextView.SetText(ss, TextView.BufferType.Spannable); TextView.MovementMethod = LinkMovementMethod.Instance; } catch (Exception e) { Methods.DisplayReportResultTrack(e); } }
public override void OnDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { base.OnDraw(c, parent, state); int left = parent.PaddingLeft; int right = parent.Width - parent.PaddingRight; for (int i = 0; i < parent.ChildCount; i++) { View child = parent.GetChildAt(i); ViewGroup.MarginLayoutParams parameters = (ViewGroup.MarginLayoutParams)child.LayoutParameters; int top = child.Bottom + parameters.BottomMargin; int bottom = top + drawable.IntrinsicHeight; drawable.SetBounds(left, top, right, bottom); drawable.Draw(c); } }
public void OnViewCreated(View view) { ScrollView = (HorizontalListView)view.FindViewById(Resource.Id.List1); sampleView = (FrameLayout)view.FindViewById(Resource.Id.SampleView); if (Samples.Count == 1) { ScrollView.Visibility = ViewStates.Gone; ViewGroup.MarginLayoutParams param = (ViewGroup.MarginLayoutParams)sampleView.LayoutParameters; } else { adapter = new ListViewAdapter(activity, Samples, CurrentIndex); ScrollView.Adapter = adapter; ScrollView.ItemClick += OnListItemClick; } RefreshSample(CurrentSample); }
/** * Update top margin with animation */ public static void updateTopMargin(View view, int fromMargin, int toMargin) { ValueAnimator animator = ValueAnimator.OfFloat(fromMargin, toMargin); animator.SetDuration(150); animator.AddUpdateListener( new CustomViewPropertyIAnimatorUpdateListener((valueAnimator) => { float animatedValue = (float)valueAnimator.AnimatedValue; if (view.LayoutParameters is ViewGroup.MarginLayoutParams) { ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams)view.LayoutParameters; p.SetMargins(p.LeftMargin, (int)animatedValue, p.RightMargin, p.BottomMargin); view.RequestLayout(); } }) ); animator.Start(); }
protected internal virtual void SetVerticalMargins(View view, int TopMargin, int BottomMargin) { ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams)view.LayoutParameters; bool changed = false; if (TopMargin > -1 && lp.TopMargin != TopMargin) { lp.TopMargin = TopMargin; changed = true; } if (BottomMargin > -1 && lp.BottomMargin != BottomMargin) { lp.BottomMargin = BottomMargin; changed = true; } if (changed) { view.LayoutParameters = lp; } }
private static void SetMargin(ViewGroup.MarginLayoutParams layoutParams, int margin, int marginLeft, int marginRight, int marginTop, int marginBottom) { if (marginLeft >= 0) { layoutParams.LeftMargin = marginLeft; } else if (margin >= 0) { layoutParams.LeftMargin = margin; } if (marginRight >= 0) { layoutParams.RightMargin = marginRight; } else if (margin >= 0) { layoutParams.RightMargin = margin; } if (marginTop >= 0) { layoutParams.TopMargin = marginTop; } else if (margin >= 0) { layoutParams.TopMargin = margin; } if (marginBottom >= 0) { layoutParams.BottomMargin = marginBottom; } else if (margin >= 0) { layoutParams.BottomMargin = margin; } }