Xamarin.Android在左右角添加工具栏项

时间:2018-07-24 15:43:40

标签: xamarin xamarin.android

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

enter image description here

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

2 个答案:

答案 0 :(得分:1)

尝试这样

activity_mail.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);
    }
}

style.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软件包。

输出屏幕截图

enter image description here

希望它能对您有所帮助。

答案 1 :(得分:0)

首先,对于“汉堡包”菜单,您必须选中this

一旦您的汉堡菜单准备好检查您的主页,并且在您的主页中,您将在该支持工具栏中有一个支持工具栏,该工具栏的工作原理几乎与您的ViewGroup一样:

<android.support.v7.widget.Toolbar
 android:id="@+id/toolbar"  
 android:layout_width="match_parent"  
 android:layout_height="wrap_content"  
 android:minHeight="?attr/actionBarSize"  
 android:background="#33B86C"  
 app:popupTheme="@style/ThemeOverlay.AppCompat.Light"  
 app:layout_scrollFlags="scroll|enterAlways" >

<ImageView
    android:layout_width="wrap_content"
    android:contentDescription="@string/logo"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:src="@drawable/ic_launcher"/>
</android.support.v7.widget.Toolbar>

也请在此处查看如何在xamarin android中使用toolbar,其中包括添加在图像右上角看到的工具栏项。

祝你好运!

在查询的情况下还原。