首页 > 解决方案 > Xamarin.Android 在左右角添加工具栏项

问题描述

我想在我的应用程序中添加工具栏,如下图所示,左栏按钮,位于中心的应用程序名称和右栏按钮。

在此处输入图像描述

我尝试了谷歌,但没有得到解决方案。有谁知道如何在 Xamarin.Android 中做到这一点?

标签: xamarinxamarin.android

解决方案


像这样试试

活动邮件.axml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
   android:background="@android:color/darker_gray">
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:background="#1286d9"
        android:layout_height="?attr/actionBarSize"
        android:contentInsetLeft="0dp"
        android:gravity="top|start"
        android:contentInsetStart="0dp"
        android:contentInsetRight="0dp"
        android:contentInsetEnd="0dp"
        android:layout_width="match_parent">
        <TextView
            android:layout_width="wrap_content"
            android:text="Payment"
            android:layout_gravity="center"
            android:id="@+id/tvActionBarTitle"
            android:layout_height="wrap_content" />
        <ImageButton
            android:id="@+id/ibNofication"
            android:layout_gravity="right"
            android:background="@mipmap/ic_myIcon"
            android:layout_width="30dp"
            android:padding="9dp"
            android:layout_marginRight="6dp"
            android:layout_height="30dp" />
    </android.support.v7.widget.Toolbar>
</LinearLayout>

MainActivity.cs

[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
    public class MainActivity : AppCompatActivity
    {
        Android.Support.V7.Widget.Toolbar _toolbar;
        protected override void OnCreate(Bundle savedInstanceState)
        {
        base.OnCreate(savedInstanceState);
        SetContentView(Resource.Layout.activity_main);
        _toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);          
        SetSupportActionBar(_toolbar);
        SupportActionBar.SetDisplayHomeAsUpEnabled(true);
        SupportActionBar.SetDisplayShowTitleEnabled(false);
        SupportActionBar.SetHomeButtonEnabled(true);
        //Below you can set you preferred icon              
        SupportActionBar.SetHomeAsUpIndicator(Resource.Drawable.ic_myIcon);
        _toolbar.SetPadding(0, 0, 0, 0);
        _toolbar.SetPadding(0, 0, 0, 0);
        _toolbar.SetContentInsetsAbsolute(0, 0);
    }
}

样式.xml

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat">
        <!-- Customize your theme here. -->
       <item name="windowActionBar">false</item>
      <item name="windowNoTitle">true</item>
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
</resources>

您需要根据自己的要求设置图标、边距、样式。如果遇到问题,请更新您的 nugets 包。

输出截图

在此处输入图像描述

希望对您有所帮助。


推荐阅读