How to integrate .NET MAUI Segmented Control with Android native embedding application?
This guide demonstrates how to create a .NET MAUI Segmented Control within a native Android application.
Step 1:
Create a .NET Android application and install the Syncfusion.Maui.Buttons NuGet package from nuget.org.
Step 2:
In the project file of the native application, add <UseMaui>true</UseMaui> to enable the .NET MAUI support.
<PropertyGroup>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UseMaui>true</UseMaui>
</PropertyGroup>
Step 3:
Creating a MauiAppBuilder object and using the UseMauiEmbedding function is the standard procedure for initializing .NET MAUI in a native app project.
Use the Build() method on the MauiAppBuilder object to build a MauiApp object. From the MauiApp object, a MauiContext object has to be created. Convert .NET MAUI controls to native types using the MauiContext object.
MauiContext? _mauiContext;
protected override void OnCreate(Bundle? savedInstanceState)
{
base.OnCreate(savedInstanceState);
MauiAppBuilder builder = MauiApp.CreateBuilder();
builder.UseMauiEmbedding<Microsoft.Maui.Controls.Application>();
builder.ConfigureSyncfusionCore();
MauiApp mauiApp = builder.Build();
_mauiContext = new MauiContext(mauiApp.Services, this);
}
Step 4:
Create a SfSegmentedControl instance, populate it with the required items and assign the data source for the segmented control using the ItemsSource property of the SegmentedControl.
public class MainActivity : Activity
{
MauiContext? _mauiContext;
protected override void OnCreate(Bundle? savedInstanceState)
{
...
SfSegmentedControl segmentedControl = new SfSegmentedControl();
List<SfSegmentItem> itemList = new List<SfSegmentItem>
{
new SfSegmentItem() {Text = "Day"},
new SfSegmentItem() {Text = "Week"},
new SfSegmentItem() {Text = "Month"},
new SfSegmentItem() {Text = "Year"},
};
segmentedControl.ItemsSource = itemList;
...
}
}
Step 5:
Convert the Segmented Control to a platform-specific view for the MAUI framework and set this view as the content view for the current Android activity.
protected override void OnCreate(Bundle? savedInstanceState)
{
Android.Views.View view = segmentedControl.ToPlatform(_mauiContext);
// Set our view from the "main" layout resource.
SetContentView(view);
}
Output:
Download the complete sample on GitHub.
Conclusion:
I hope you enjoyed learning how to integrate .NET MAUI Segmented Control with Android native embedding application.
Refer to our .NET MAUI Segmented Control’s feature tour page to learn about its other groundbreaking feature representations. You can also explore our .NET MAUI Segmented Control documentation to understand how to present and manipulate data.
For current customers, check out our .NET MAUI from the License and Downloads page. If you are new to Syncfusion®, try our 30-day free trial to check out our other .NET MAUI components.
Please let us know in the following comments section if you have any queries or require clarification. You can also contact us through our support forums, Direct-Trac, or feedback portal. We are always happy to assist you!