首页 > 解决方案 > 如何禁用波纹效果标签栏 Xamarin?

问题描述

我有一个标签栏,按下它的按钮,就会出现涟漪效应。我想完全禁用此效果。

我需要一个用于 android 的自定义渲染器。

在此处输入图像描述

标签: c#xamarinxamarin.android

解决方案


我找到了解决方案。

在自定义渲染器中:

    protected override void OnElementChanged(ElementChangedEventArgs<TabbedPage> e)
    {
        base.OnElementChanged(e);

        if (e.NewElement != null)
        {
            _bottomNavigationView = (GetChildAt(0) as Android.Widget.RelativeLayout).GetChildAt(1) as BottomNavigationView;

            ViewGroup vg = (ViewGroup)_bottomNavigationView.GetChildAt(0);
            int tabsCount = vg.ChildCount;
            for (int j = 0; j < tabsCount; j++)
            {
                ViewGroup vgTab = (ViewGroup)vg.GetChildAt(j);
                vgTab.SetBackgroundResource(App1.Droid.Resource.Drawable.hideRipple);
            }
        }
    }

在drawable/hideRipple.xml

<?xml version="1.0" encoding="utf-8" ?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
  <color android:startColor="@android:color/transparent"/>
</shape>

推荐阅读