簡體   English   中英

Xamarin構成Android我們如何更改選項卡式頁面圖標大小

[英]Xamarin forms Android how We change Tabbed Page Icon Size

Xamarin構成了Android我們如何更改“選項卡式頁面”圖標大小的方式。 我有正在使用AppCompact主題,並且我希望在Tabbar.axaml中增加“選項卡式頁面”圖標的大小

您可以創建一個自定義渲染器並在本機平台中更改圖標的大小。 實際上,您可以覆蓋整個選項卡的布局。

例如,在PCL中,首先創建一個從TabbedPage繼承的類:

public class MyTabbedPage : TabbedPage
{
}

然后在Android項目中創建其渲染器,例如:

[assembly: ExportRenderer(typeof(MyTabbedPage), typeof(MyTabbedPageRenderer))]

namespace YourNameSpace.Droid
{
    public class MyTabbedPageRenderer : TabbedPageRenderer
    {
        protected override void SetTabIcon(TabLayout.Tab tab, FileImageSource icon)
        {
            base.SetTabIcon(tab, icon);

            tab.SetCustomView(Resource.Layout.mytablayout);
            var imageview = tab.CustomView.FindViewById<ImageView>(Resource.Id.icon);
            imageview.SetBackgroundDrawable(tab.Icon);
        }
    }
}

我創建的布局是這樣的:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
  <ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:scaleType="fitCenter"
        android:id="@+id/icon"
        android:layout_gravity="center_horizontal" />
</LinearLayout>

如您所見,我直接在axml文件中設置大小。

當您想使用此自定義TabbedPage ,可以例如使用以下代碼:

<local:MyTabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:TabbedPageForms"
             x:Class="TabbedPageForms.MainPage">

    <local:TodayPage Title="Today" Icon="hamburger.jpg" />

    <local:SchedulePage Title="Schedule" Icon="hamburger.jpg" />
</local:MyTabbedPage>

后面的代碼:

public partial class MainPage : MyTabbedPage
{
    public MainPage()
    {
        InitializeComponent();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM