代码之家  ›  专栏  ›  技术社区  ›  KrustyGString

带有本机Android工具栏的Xamarin表单

  •  0
  • KrustyGString  · 技术社区  · 7 年前

    抱歉,这个问题有点杂乱无章,但可以分为两个细节:

    1) 和Xamarin。表单是否可以根据屏幕大小自动移动工具栏中的溢出项,移动方式与Android本机工具栏类似?

    2) 如果使用Xamarin。表单可以使用Xamarin中定义的工具栏。安卓怎样

    2 回复  |  直到 7 年前
        1
  •  2
  •   Grace Feng    7 年前

    除了@SteveChadbourne的答案之外,如果打开 MainActivity.cs 在客户端android项目中,您可以找到默认代码如下:

    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
    {
        protected override void OnCreate(Bundle bundle)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;
    
            base.OnCreate(bundle);
    
            global::Xamarin.Forms.Forms.Init(this, bundle);
            LoadApplication(new App());
        }
    }
    

    Toolbar Resources/layout 客户端Android项目中的文件夹:

    <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        android:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
    

    工具栏 例如,在XF中的某些页面类型控件中默认使用 NavigationPage .

    Xamarin.Forms.ToolbarItem . 它也被渲染为 工具栏 你可以设置 Order 属性到 ToolbarItem

    对于自定义渲染器,您可以参考以下博客: Xamarin Forms - ContentPage with SearchBar in the Navigation bar .

    不知道哪一个对你来说是最好的选择,但我想向你解释两个问题。XF就像一个UI工具包,它拥有的所有控件都是基于本机SDK创建的,这意味着所有控件都被渲染为匹配的本机控件,因此可以在本机平台中使用。因此,如果XF控件呈现为 工具栏 工具栏 在本机Android中, 但是 就像我们自定义渲染器一样,创建XF控件时,许多属性在其代码中都是硬编码的,这可能会影响这里的结果。如果您遇到这样的问题,我建议您阅读Github上的开放源码。

    最后一个问题:

    您可以使用自定义渲染器,也可以直接在中修改代码 Toolbar.axml

        2
  •  1
  •   Steve Chadbourne    7 年前

    这应该可以在Xamarin表单中使用自定义渲染器。

    在Xamarin Native中,您已经领先了一步,了解了自己想要做什么以及如何做。

    Here is an overview on custom renderers .

    Here is a link

    请注意,如果您使用app compat支持早期版本的Android,则可能需要覆盖NavigationPageRenderer。

    推荐文章