我正在从NavigationPageRenderer for Tool中的ToolbarItem中心添加自定义视图。但它似乎并没有起作用。请参阅下面的代码
public class CustomNavigationPageRenderer : NavigationPageRenderer
{
public override void OnViewAdded(Android.Views.View child)
{
base.OnViewAdded(child);
var lastPageElement?.Navigation?.NavigationStack?.Last().ToString();
if (lastPage == "ParentDashboardPage")
{
LayoutInflater li = LayoutInflater.From(Context);
Android.Views.View customView = li.Inflate(Resource.Layout.customActionbar, null);
var _toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
_toolbar.RemoveAllViews();
//_toolbar.AddView(text,new Toolbar.LayoutParams(GravityFlags.Center)); Even this not working
_toolbar.AddView(customView);
}
}
}
下面的customActionbar.axml文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:text=" Dashboard"
android:textColor="@color/white"
android:layout_gravity="center"
android:id="@+id/tvActionBarTitle"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_centerVertical="true"
android:layout_centerInParent="true"
android:textSize="17dp" />
<ImageView
android:layout_gravity="right"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:id="@+id/item2"
android:src="@drawable/bell"
android:layout_alignParentRight="true" />
</RelativeLayout>
输出屏幕如下:
答案 0 :(得分:0)
如果您使用的是基于Shell的Xamarin.Forms应用程序,则可以使用Shell.TitleView轻松实现此目的,而无需自定义渲染器,定义标题内容,对其进行绑定甚至对其进行样式设置如您所愿。
在您的ContentPage
内:
<Shell.TitleView>
<StackLayout Orientation="Horizontal" Spacing="0">
<Label Text="Dashboard"
Opacity="1"
FontAttributes="Bold"
FontSize="20"
TextColor="White"
HorizontalOptions="CenterAndExpand"
HorizontalTextAlignment="Center"
VerticalTextAlignment="Center"/>
<ImageButton Source="Bell.png"
VerticalOptions="CenterAndExpand"
HorizontalOptions="End"
BackgroundColor="transparent"/>
</StackLayout>
</Shell.TitleView>
如果您需要根据平台进行某些特殊调整,则可以使用OnPlatform。
我为什么选择样式的那些属性?
尽可能接近本机默认文本标题。 相关问题: