From 263aa0053a64f82221e24a50874a49b3279e6a7e Mon Sep 17 00:00:00 2001 From: TameemAnsari-SF4702 Date: Tue, 24 Jun 2025 10:40:54 +0530 Subject: [PATCH 1/4] 959295 - Review changes the first six Xamarin-Android Tools Controls by AI --- .../Customizing-the-Suggestion-DropDown.md | 18 +-- .../SfAutoComplete/Diacritic-Sensitivity.md | 13 +- .../SfAutoComplete/Getting-Started.md | 29 +++-- .../SfAutoComplete/Header-and-Footer.md | 18 ++- .../Maximum-display-item-with-Expander.md | 27 ++-- .../SfAutoComplete/Multiple-selection.md | 45 +++---- .../SfAutoComplete/No-Result-Found.md | 15 +-- xamarin-android/SfAutoComplete/Overview.md | 28 ++--- .../SfAutoComplete/Populating-Items.md | 8 +- .../SfAutoComplete/Suggestion-Display-Mode.md | 16 +-- .../Various-Filter-Options-for-Suggestion.md | 64 ++++------ xamarin-android/SfAutoComplete/Watermark.md | 9 +- .../highlighting-matched-text.md | 22 ++-- .../SfBusyIndicator/AnimationType.md | 4 +- .../SfBusyIndicator/Getting-Started.md | 20 +-- .../Make-Busy-Animation-Idle.md | 3 +- xamarin-android/SfBusyIndicator/Overview.md | 8 +- xamarin-android/SfBusyIndicator/Set-Header.md | 15 ++- xamarin-android/SfBusyIndicator/Sizing.md | 6 +- .../SfCarousel/Linear-Arrangement.md | 20 ++- xamarin-android/SfCarousel/animation.md | 16 +-- xamarin-android/SfCarousel/getting-started.md | 41 +++---- xamarin-android/SfCarousel/how-to.md | 18 +-- xamarin-android/SfCarousel/overview.md | 9 +- xamarin-android/SfCarousel/populating-data.md | 21 ++-- xamarin-android/SfCarousel/transformation.md | 40 +++--- xamarin-android/SfComboBox/ComboBox-Modes.md | 33 +++-- xamarin-android/SfComboBox/Customizing.md | 39 +++--- .../SfComboBox/Dealing-with-SuggestionBox.md | 37 +++--- .../SfComboBox/Filtering-Option.md | 21 ++-- xamarin-android/SfComboBox/Getting-Started.md | 18 +-- .../SfComboBox/Header-and-Footer.md | 47 +++---- .../SfComboBox/Multiple-selection.md | 25 ++-- xamarin-android/SfComboBox/No-Result-Found.md | 17 +-- xamarin-android/SfComboBox/Overview.md | 37 +++--- .../SfComboBox/Populating-Items.md | 30 ++--- .../SfComboBox/Suggestion-Display-Mode.md | 40 +++--- .../Various-Filter-Options-for-Suggestion.md | 116 ++++++++---------- .../SfComboBox/highlighting-matched-text.md | 26 ++-- .../SfNavigationDrawer/Drawer-Content.md | 68 +++++----- .../SfNavigationDrawer/Main-Content.md | 12 +- .../SfNavigationDrawer/getting-started.md | 26 ++-- .../SfNavigationDrawer/overview.md | 4 +- .../SfNavigationDrawer/position.md | 14 +-- .../SfNavigationDrawer/transition.md | 5 +- .../SfRadialMenu/CenterButtonCustomization.md | 6 +- xamarin-android/SfRadialMenu/Events.md | 6 +- .../SfRadialMenu/GettingStarted.md | 8 +- xamarin-android/SfRadialMenu/Overview.md | 19 ++- .../SfRadialMenu/PlaceAndDragRadialMenu.md | 42 +++---- .../SfRadialMenu/PopulatingItems.md | 18 +-- .../SfRadialMenu/SegmentingAndPlacingItem.md | 20 ++- .../SfRadialMenuItemCustomization.md | 7 +- 53 files changed, 597 insertions(+), 677 deletions(-) diff --git a/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md b/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md index 11be29f9..7f6b9cbb 100644 --- a/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md +++ b/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md @@ -10,11 +10,11 @@ documentation : ug # Customizing the Suggestion DropDown -The suggestion list displaying behavior can be customized based on the entered text and delays in displaying the items. +The suggestion list display behavior can be customized based on the entered text and delays in displaying the items. -## Set Minimum Prefix Character +## Set Minimum Prefix Characters -Instead of displaying suggestion list on every text entry, the most possible match can be filtered and displayed after few text entries. This can be done by modifying `MinimumPrefixCharacters`. +Instead of displaying the suggestion list on every text entry, you can filter and display the most relevant matches after a few text entries. This can be achieved by modifying the `MinimumPrefixCharacters` property. N> The default property value is 1. @@ -32,9 +32,9 @@ countryAutoComplete.MinimumPrefixCharacters = 4; ## Set PopUp Delay -We can delay the time taken to display the dropdown with suggestion list by using the `PopUpDelay` property in SfAutoComplete . +You can delay the time taken to display the dropdown with the suggestion list by using the `PopUpDelay` property in SfAutoComplete. -N> The default value is 0. The property value is maintained in milliseconds. +N> The default value is 0. The property value is specified in milliseconds. {% tabs %} @@ -46,9 +46,9 @@ countryAutoComplete.PopUpDelay = 100; {% endtabs %} -## Set Maximum Height to the DropDown +## Set Maximum Height for the DropDown -The height of the drop-down portion of the SfAutocomplete control can be varied using `MaximumDropDownHeight` property. +The height of the dropdown portion of the SfAutoComplete control can be customized using the `MaximumDropDownHeight` property. N> The `MaximumDropDownHeight` value can be any positive integer value. @@ -64,9 +64,9 @@ countryAutoComplete.MaximumDropDownHeight = 200; ![Maximum drop down height](images/maximumdropdownheight.png) -## Set border color to the DropDown +## Set Border Color for the DropDown -The DropDownBorderColor property is used to change the border color of DropDown. The following code example demonstrates how to change the border color of DropDown. +The `DropDownBorderColor` property is used to change the border color of the dropdown. The following code example demonstrates how to change the border color of the dropdown. {% tabs %} diff --git a/xamarin-android/SfAutoComplete/Diacritic-Sensitivity.md b/xamarin-android/SfAutoComplete/Diacritic-Sensitivity.md index f2661cdb..bf3d24ea 100644 --- a/xamarin-android/SfAutoComplete/Diacritic-Sensitivity.md +++ b/xamarin-android/SfAutoComplete/Diacritic-Sensitivity.md @@ -1,7 +1,7 @@ --- layout : post -title : Diacritic sensitivity in Syncfusion® SfAutoComplete control for Xamarin.Android -description : Learn how to enable and disable Diacritic sensitivity in SfAutoComplete +title : Diacritic Sensitivity in Syncfusion® SfAutoComplete Control for Xamarin.Android +description : Learn how to enable and disable diacritic sensitivity in SfAutoComplete for multilingual text search platform : Xamarin.Android control : SfAutoComplete documentation : ug @@ -9,9 +9,9 @@ documentation : ug # Diacritic Sensitivity -The control does not stick with one type of keyboard, so you can populate items from a language with letters containing diacritics, and search for them with English characters from an en-US keyboard. Users can enable or disable the diacritic sensitivity with the `IgnoreDiacritic` property. +The control supports multiple keyboard types, allowing you to populate items from languages with diacritical marks and search for them using English characters from an en-US keyboard. Users can enable or disable diacritic sensitivity using the `IgnoreDiacritic` property. -In the below code example we have illustrate how to enable the diacritic sensitivity so that items in the suggestion list get populated by entering any diacritic character of that alphabet. +The following code example demonstrates how to disable diacritic sensitivity so that items in the suggestion list are populated when entering any diacritic character of that alphabet. {% tabs %} @@ -39,7 +39,4 @@ countryAutoComplete.IgnoreDiacritic=false; {% endtabs %} -![](images/diacritic.png) - - - \ No newline at end of file +![Diacritic sensitivity example](images/diacritic.png) diff --git a/xamarin-android/SfAutoComplete/Getting-Started.md b/xamarin-android/SfAutoComplete/Getting-Started.md index 5734f165..897c574e 100644 --- a/xamarin-android/SfAutoComplete/Getting-Started.md +++ b/xamarin-android/SfAutoComplete/Getting-Started.md @@ -1,7 +1,7 @@ --- layout : post title : Getting Started with Syncfusion® AutoComplete Control for Xamarin.Android -description : A quick tour to initial users on Syncfusion® SfAutoComplete control for Xamarin.Android platform +description : A quick tour for initial users on Syncfusion® SfAutoComplete control for Xamarin.Android platform platform : Xamarin.Android control : SfAutoComplete documentation : ug @@ -9,21 +9,21 @@ documentation : ug # Getting Started -This section explains you the steps to configure a SfAutoComplete control in a real-time scenario and also provides a walk-through on some of the customization features available in SfAutoComplete control. +This section explains the steps to configure an SfAutoComplete control in a real-time scenario and also provides a walk-through on some of the customization features available in the SfAutoComplete control. ## Referencing Essential Studio® Components in Your Solution -After installing Essential Studio® for Xamarin, you can find all the required assemblies in the installation folders, +After installing Essential Studio® for Xamarin, you can find all the required assemblies in the installation folders: {Syncfusion Installed location}\Essential Studio\12.4.0.24\lib -Add the following assembly references to the Android project, +Add the following assembly reference to the Android project: android\Syncfusion.SfAutoComplete.Android.dll ### Add SfAutoComplete -The following steps helps to add a SfAutoComplete control through code. +The following steps help to add an SfAutoComplete control through code. * Adding namespace for the added assemblies. @@ -59,9 +59,9 @@ SetContentView(linearLayout); ## Add Items -A list of string with country names are created and added to auto complete source. This list will be populated as suggestion list by setting the `AutoCompleteSource` property based on text entry . +A list of strings with country names is created and added to the AutoComplete source. This list will be populated as a suggestion list by setting the `AutoCompleteSource` property based on text entry. -You can set the suggestion list to the SfAutoComplete using the property `AutoCompleteSource`. Add the AutoCompleteSource for the SfAutoComplete as follows. +You can set the suggestion list to the SfAutoComplete using the `AutoCompleteSource` property. Add the AutoCompleteSource for the SfAutoComplete as follows: {% tabs %} @@ -94,9 +94,9 @@ SetContentView(linearLayout); ## Set Filter Mode -Filters can be applied to the displayed items based on starting letter. We can also append the first item from the suggested list to the TextBox. This can be done by using the `SuggestionMode` and `AutoCompleteMode` properties in SfAutoComplete control. +Filters can be applied to the displayed items based on the starting letter. You can also append the first item from the suggested list to the TextBox. This can be achieved by using the `SuggestionMode` and `AutoCompleteMode` properties in the SfAutoComplete control. -The following example shows the SfAutoComplete control which suggest the country list starting with the letter U. +The following example shows the SfAutoComplete control which suggests countries from the list starting with the letter "U": {% tabs %} @@ -132,13 +132,12 @@ SetContentView(linearLayout); {% endtabs %} -![](images/gettingstarted.png) - -## Creating AutoComplete control in AXML layout +![AutoComplete getting started example](images/gettingstarted.png) +## Creating AutoComplete Control in AXML Layout Create a new blank application for Android using Visual Studio. Add reference to the required assemblies in the project. -Add the following code in the Main.axml file to include SfAutoComplete control. +Add the following code in the Main.axml file to include the SfAutoComplete control: {% tabs %} @@ -160,9 +159,9 @@ android:id="@+id/autocomplete" /> {% endtabs %} -Add the following code in MainActivity.cs file. +Add the following code in the MainActivity.cs file. -Declare an instance of SfAutoComplete to access the control and its properties. +Declare an instance of SfAutoComplete to access the control and its properties: {% tabs %} diff --git a/xamarin-android/SfAutoComplete/Header-and-Footer.md b/xamarin-android/SfAutoComplete/Header-and-Footer.md index a17a31fc..a8d19290 100644 --- a/xamarin-android/SfAutoComplete/Header-and-Footer.md +++ b/xamarin-android/SfAutoComplete/Header-and-Footer.md @@ -9,13 +9,13 @@ documentation: ug # Header and Footer in Xamarin.Android SfAutoComplete -We can provide Header and Footer content in the SfAutoComplete by enabling `ShowDropDownHeaderView` and `ShowDropDownFooterView`. +You can provide header and footer content in the SfAutoComplete by enabling `ShowDropDownHeaderView` and `ShowDropDownFooterView` properties. ## Header Content -We can provide Header Content at the top of the AutoComplete's Suggestion box. `DropDownHeaderView` property is used to set the content of the header. The height of the Header in the SfAutoComplete can be adjusted by the property `DropDownHeaderViewHeight`. +You can provide header content at the top of the AutoComplete suggestion box. The `DropDownHeaderView` property is used to set the content of the header. The height of the header in the SfAutoComplete can be adjusted using the `DropDownHeaderViewHeight` property. - The following code example illustrate how to set Header content in SfAutoComplete. +The following code example illustrates how to set header content in SfAutoComplete: {% tabs %} @@ -25,7 +25,7 @@ countryAutoComplete.ShowDropDownHeaderView = true; countryAutoComplete.DropDownItemHeight = 30; countryAutoComplete.DropDownTextSize = 16; -// set the Height for the HeaderView +// Set the height for the HeaderView countryAutoComplete.DropDownHeaderViewHeight = 50; @@ -46,9 +46,9 @@ countryAutoComplete.DropDownHeaderView = textView; ## Footer Content -We can provide Footer Content at the bottom of the AutoComplete's Suggestion box. `DropDownFooterView` property is used to set the content of the footer. The height of the Footer in the SfAutoComplete can be adjusted by the property `DropDownFooterViewHeight`. +You can provide footer content at the bottom of the AutoComplete suggestion box. The `DropDownFooterView` property is used to set the content of the footer. The height of the footer in the SfAutoComplete can be adjusted using the `DropDownFooterViewHeight` property. -The following code example illustrate how to set Footer content in SfAutoComplete. +The following code example illustrates how to set footer content in SfAutoComplete: {% tabs %} @@ -58,7 +58,7 @@ countryAutoComplete.ShowDropDownHeaderView = true; countryAutoComplete.DropDownItemHeight = 30; countryAutoComplete.DropDownTextSize = 16; -// set the Height for the FooterView +// Set the height for the FooterView countryAutoComplete.DropDownFooterViewHeight = 50; TextView textView = new TextView(this); @@ -75,7 +75,3 @@ countryAutoComplete.DropDownFooterView = textView; {% endtabs %} ![Xamarin.Android SfAutoComplete footer](images/Footer.png) - - - - \ No newline at end of file diff --git a/xamarin-android/SfAutoComplete/Maximum-display-item-with-Expander.md b/xamarin-android/SfAutoComplete/Maximum-display-item-with-Expander.md index 7a558025..31dde15d 100644 --- a/xamarin-android/SfAutoComplete/Maximum-display-item-with-Expander.md +++ b/xamarin-android/SfAutoComplete/Maximum-display-item-with-Expander.md @@ -1,15 +1,15 @@ --- -layout : post -title : LoadMore in Syncfusion® SfAutoComplete control for Xamarin.Android -description : Learn how to restrict maximum suggestion to be displayed in SfAutoComplete -platform : Xamarin.Android -control : SfAutoComplete -documentation : ug +layout: post +title: Maximum Display Items with Load More in Syncfusion® SfAutoComplete Control for Xamarin.Android +description: Learn how to restrict the maximum number of suggestions displayed in SfAutoComplete and implement load more functionality +platform: Xamarin.Android +control: SfAutoComplete +documentation: ug --- -# Maximum Display Item with Expander +# Maximum Display Items with Load More -Restrict the number of suggestions displayed and have the remaining items loaded by selecting LoadMore.We can restrict maximum suggestion to be displayed with the `MaximumSuggestion` property. We can set the desire text for the displaying the Load more text with the property `LoadMoreText`. +You can restrict the number of suggestions displayed and load the remaining items by selecting Load More. The maximum number of suggestions to be displayed can be restricted using the `MaximumSuggestion` property. You can set the desired text for displaying the Load More text using the `LoadMoreText` property. {% tabs %} @@ -23,20 +23,19 @@ countryAutoComplete.LoadMoreText="LOAD MORE"; {% endtabs %} -![](images/loadmore.png) +![Load More functionality example](images/loadmore.png) +## Restricting Maximum Display Items Dynamically -### Restricting the maximum display of item dynamically - -We can restrict the maximum display of items dynamically by calling `LoadMore` method. The user can dynamically change the maximum suggestion count by calling LoadMore method by giving the maximum suggestion as the argument inside. +You can restrict the maximum display of items dynamically by calling the `LoadMore` method. The maximum suggestion count can be changed dynamically by calling the LoadMore method with the maximum suggestion count as an argument. {% tabs %} {% highlight c# %} -// without passing arguments +// Without passing arguments autoComplete.LoadMore(); -// with passing arguments +// With passing arguments autoComplete.LoadMore(5); {% endhighlight %} diff --git a/xamarin-android/SfAutoComplete/Multiple-selection.md b/xamarin-android/SfAutoComplete/Multiple-selection.md index ab2140c2..869a5ce7 100644 --- a/xamarin-android/SfAutoComplete/Multiple-selection.md +++ b/xamarin-android/SfAutoComplete/Multiple-selection.md @@ -1,6 +1,6 @@ --- layout: post -title: Multipe Selection in Xamarin.Android SfAutoComplete | Syncfusion® +title: Multiple Selection in Xamarin.Android SfAutoComplete | Syncfusion® description: Learn how to select multiple items in Syncfusion® Essential® Xamarin.Android SfAutoComplete Control, its elements, and more. platform: Xamarin.Android control: SfAutoComplete @@ -9,7 +9,7 @@ documentation: ug # Multiple Selection in Xamarin.Android SfAutoComplete -Select multiple items from a suggestion list. There are two ways to perform multi selection in autocomplete. +You can select multiple items from a suggestion list. There are two ways to perform multiple selection in AutoComplete: * Token Representation @@ -17,15 +17,14 @@ Select multiple items from a suggestion list. There are two ways to perform mult ## Token Representation -Selected items will be displayed with a customizable token representation and the users can remove each tokenized item with the close button. +Selected items will be displayed with customizable token representation, and users can remove each tokenized item using the close button. -### Wrap Mode of Token +### Wrap Mode of Tokens -The selected item can be displayed as token inside SfAutoComplete in two ways. They are +Selected items can be displayed as tokens inside SfAutoComplete in two ways: -* `Wrap` - When `TokensWrapMode` is set to `Wrap` the selected items will be wrap to the next line of the SfAutoComplete. - -* `None` - When `TokensWrapMode` is set to `None` the selected item will be wrap in horizontal orientation. +* `Wrap` - When `TokensWrapMode` is set to `Wrap`, the selected items will wrap to the next line of the SfAutoComplete. +* `None` - When `TokensWrapMode` is set to `None`, the selected items will be displayed in horizontal orientation. {% tabs %} @@ -89,24 +88,15 @@ SetContentView(linearLayout); ### Token Customization -Customization can be done for Token. There are various ways to customize the tokens. They are as follows. - -* `TextColor` - sets the color of the text inside the token. - -* `FontSize` - sets the size of the Font inside the token. - -* `FontFamily` - sets the Font family for the text inside the token. - -* `BackgroundColor` - sets the background color of the token. - -* `SelectedBackgroundColor` - sets the background color of the token when it is selected. - -* `IsCloseButtonVisible` - Enables and disables the close button inside SfAutoComplete. - -* `DeleteButtonColor` - sets the color of the close button inside SfAutoComplete. - -* `CornerRadius` - sets the corner radius for the token. - +Tokens can be customized in various ways. The available customization options are as follows: +* `TextColor` - Sets the color of the text inside the token. +* `FontSize` - Sets the size of the font inside the token. +* `FontFamily` - Sets the font family for the text inside the token. +* `BackgroundColor` - Sets the background color of the token. +* `SelectedBackgroundColor` - Sets the background color of the token when it is selected. +* `IsCloseButtonVisible` - Enables and disables the close button inside the token. +* `DeleteButtonColor` - Sets the color of the close button inside the token. +* `CornerRadius` - Sets the corner radius for the token. {% tabs %} @@ -131,7 +121,7 @@ employeeAutoComplete.TokenSettings = token; ## Delimiter -When selecting the multiple items, the selected items can be divided with a desired character given for a delimiter. We can set delimiter character with the `Delimiter` property. +When selecting multiple items, the selected items can be separated using a desired delimiter character. You can set the delimiter character using the `Delimiter` property. {% tabs %} @@ -151,3 +141,4 @@ countryAutoComplete.Delimiter="#"; + diff --git a/xamarin-android/SfAutoComplete/No-Result-Found.md b/xamarin-android/SfAutoComplete/No-Result-Found.md index fa1dae12..24f2fad6 100644 --- a/xamarin-android/SfAutoComplete/No-Result-Found.md +++ b/xamarin-android/SfAutoComplete/No-Result-Found.md @@ -1,7 +1,7 @@ --- layout : post -title : No Result Found Text in Syncfusion® SfAutoComplete control for Xamarin.Android -description : Learn how to display the no result found text in SfAutoComplete +title : No Results Found Text in Syncfusion® SfAutoComplete Control for Xamarin.Android +description : Learn how to display and customize the no results found text in SfAutoComplete platform : Xamarin.Android control : SfAutoComplete documentation : ug @@ -9,7 +9,7 @@ documentation : ug # No Results Found -When the entered item is not in the suggestion list, SfAutoComplete displays a text indicating there is no search results found. We can set the desire text to be displayed for indicating no results found with the `NoResultsFoundText` property. +When the entered item is not in the suggestion list, SfAutoComplete displays text indicating that no search results were found. You can set the desired text to be displayed when no results are found using the `NoResultsFoundText` property. {% tabs %} @@ -21,11 +21,12 @@ countryAutoComplete.NoResultsFoundText="No Results Found"; {% endtabs %} -![NoResultsFound](images/NoResultsFound.png) +![No results found example](images/NoResultsFound.png) -## Customizing NoResultsFoundText +## Customizing No Results Found Text + +The `NoResultsFoundTextColor`, `NoResultsFoundFontSize`, and `NoResultsFoundTypeface` properties are used to customize the foreground color, font size, and typeface of the no results found text. -The `NoResultsFoundTextColor`, `NoResultsFoundFontSize` and `NoResultsFoundTypeface` properties are used to customize the foreground color, font size and typeface of NoResultsFoundText. {% tabs %} {% highlight c# %} @@ -39,4 +40,4 @@ countryAutoComplete.NoResultsFoundTypeface = Typeface.CreateFromAsset(this.Asset {% endtabs %} -![NoResultsFound_Customization](images/NoResultsFound_Customization.jpg) \ No newline at end of file +![No results found customization example](images/NoResultsFound_Customization.jpg) diff --git a/xamarin-android/SfAutoComplete/Overview.md b/xamarin-android/SfAutoComplete/Overview.md index dcb5f18f..def5141d 100644 --- a/xamarin-android/SfAutoComplete/Overview.md +++ b/xamarin-android/SfAutoComplete/Overview.md @@ -1,7 +1,7 @@ --- layout: post -title: Overview of Syncfusion® AutoComplete control for Xamarin.Android -description: This explains about the Overview and key features of Syncfusion® Essential® Xamarin.Android SfAutoComplete control +title: Overview of Syncfusion® AutoComplete Control for Xamarin.Android +description: This section provides an overview and key features of the Syncfusion® Essential® Xamarin.Android SfAutoComplete control platform: xamarin.android control: SfAutoComplete documentation: ug @@ -9,32 +9,30 @@ documentation: ug # Overview -The Essential® Xamarin.Android AutoComplete widget provides the suggestions while typing. The suggested text can be appended to the original text or it can be displayed in a drop-down list. Also provides a gesture friendly UI to perform operations like Suggest, Append and SuggestAppend. +The Essential® Xamarin.Android AutoComplete widget provides suggestions while typing. The suggested text can be appended to the original text or displayed in a dropdown list. It also provides a gesture-friendly UI to perform operations like Suggest, Append, and SuggestAppend. -Essential® AutoComplete can be used in any search box. +The Essential® AutoComplete can be used in any search scenario. ![Xamarin.Android AutoComplete Overview](images/overview.png) ## Key Features -* `Watermark` - The control shows the watermark text. +* `Watermark` - The control displays watermark text when no input is provided. -* `Autocomplete Mode` - The control provides suggestions based on a predefined collection while typing. +* `AutoComplete Mode` - The control provides suggestions based on a predefined collection while typing. -* `Suggestion Mode` - The suggestions list can be displayed with 8 types of search pattern. +* `Suggestion Mode` - The suggestion list can be displayed with multiple types of search patterns. * `AutoCompleteSource` - A list of strings that is loaded to the control for displaying suggestions. -* `Multiple Selection` - AutoComplete provides 2 different ways to select multiple items from the suggestion list. They are using Token representation and Delimiter. +* `Multiple Selection` - AutoComplete provides two different ways to select multiple items from the suggestion list: Token representation and Delimiter. -* `Load More` - Restrict the number of suggestions displayed and have the remaining items loaded by selecting LoadMore. +* `Load More` - Restricts the number of suggestions displayed and allows loading remaining items by selecting Load More. -* `Header and Footer` - Header and Footer content can be given in the top and bottom of the Suggestion list in SfAutoComplete. +* `Header and Footer` - Header and footer content can be added to the top and bottom of the suggestion list in SfAutoComplete. -* `Diacritic Sense` - AutoComplete provides populating the items from a language with letters containing diacritics, and search for them with English characters from an en-US keyboard. - -* `Highlighting Text` - AutoComplete provides highlighting the matching text in the Suggestion list based on the input given in it. - -* `Custom filter` - AutoComplete provides the user to filter the item in the Suggestion list based on their filtering condition. +* `Diacritic Sensitivity` - AutoComplete supports populating items from languages with diacritical marks and searching for them with English characters from an en-US keyboard. +* `Text Highlighting` - AutoComplete supports highlighting matching text in the suggestion list based on the input provided. +* `Custom Filter` - AutoComplete allows users to filter items in the suggestion list based on their custom filtering conditions. diff --git a/xamarin-android/SfAutoComplete/Populating-Items.md b/xamarin-android/SfAutoComplete/Populating-Items.md index a83f27a6..e5cd9898 100644 --- a/xamarin-android/SfAutoComplete/Populating-Items.md +++ b/xamarin-android/SfAutoComplete/Populating-Items.md @@ -1,6 +1,6 @@ --- layout: post -title: Populating Items in Xamarin.Android SfAutoComplete Control| Syncfusion® +title: Populating Items in Xamarin.Android SfAutoComplete Control | Syncfusion® description: Learn here about Populating Items in Syncfusion® Essential® Xamarin.Android SfAutoComplete Control, its elements, and more. platform: Xamarin.Android control: SfAutoComplete @@ -9,11 +9,11 @@ documentation: ug # Populating Items in Xamarin.Android SfAutoComplete -* The `AutoCompleteSource` property in the SfAutoComplete control is used to set the list of strings to the suggestions dropdown using DataAdapter. +The `AutoCompleteSource` property in the SfAutoComplete control is used to set the list of strings for the suggestion dropdown using a DataAdapter. -* To create a Text Box that automatically completes input strings by comparing the prefix being entered to the prefixes of all strings in a maintained source. This is useful for Text Box controls in which URLs, addresses, file names, or commands will be frequently entered. +The AutoComplete functionality creates a text input that automatically completes input strings by comparing the entered prefix to the prefixes of all strings in the data source. This is useful for text input controls where URLs, addresses, file names, or commands are frequently entered. -* The use of this is optional, but you must set this to Custom Source in order to use `AutoCompleteCustomSource`. +Setting the AutoCompleteSource is optional, but it must be configured to use custom data sources with the `AutoCompleteCustomSource` property. {% tabs %} diff --git a/xamarin-android/SfAutoComplete/Suggestion-Display-Mode.md b/xamarin-android/SfAutoComplete/Suggestion-Display-Mode.md index 21e41e98..112c0b63 100644 --- a/xamarin-android/SfAutoComplete/Suggestion-Display-Mode.md +++ b/xamarin-android/SfAutoComplete/Suggestion-Display-Mode.md @@ -1,6 +1,6 @@ --- layout : post -title: AutoComplete mode in Xamarin.Android SfAutoComplete Control|Syncfusion® +title: Suggestion Display Mode in Xamarin.Android SfAutoComplete Control | Syncfusion® description: Learn here about Suggestion Display Mode in Syncfusion® Essential® Xamarin.Android SfAutoComplete Control, its elements, and more. platform: Xamarin.Android control: SfAutoComplete @@ -9,7 +9,7 @@ documentation: ug # Suggestion Display Mode in Xamarin.Android SfAutoComplete -The `AutocompleteMode` property is used to decide the suggestion pattern for displaying the filtered data according to the text entered. The different types of pattern are described below +The `AutoCompleteMode` property is used to determine the suggestion pattern for displaying the filtered data according to the text entered. The different types of patterns are described below: * Suggest @@ -17,11 +17,11 @@ The `AutocompleteMode` property is used to decide the suggestion pattern for dis * Suggest and Append -N> The default option is suggest mode. +N> The default mode is Suggest. ## Append -* Append - It appends the first matching string with the entered character. +Appends the first matching string to the entered text. {% tabs %} @@ -35,7 +35,7 @@ countryAutoComplete.AutoCompleteMode = AutoCompleteMode.Append; ## Suggest in Dropdown -* Suggest - It displays the suggestion in the dropdown. +Displays suggestions in the dropdown. {% tabs %} @@ -47,10 +47,9 @@ countryAutoComplete.AutoCompleteMode = AutoCompleteMode.Suggest; {% endtabs %} -## Both Append and Suggest in DropDown - -* SuggestAppend - It displays the suggestion in the dropdown along with appending the first matching string. +## Suggest and Append +Displays suggestions in the dropdown and appends the first matching string to the entered text. {% tabs %} {% highlight C# %} @@ -63,3 +62,4 @@ countryAutoComplete.AutoCompleteMode = AutoCompleteMode.SuggestAppend; ![Xamarin.Android SfAutoComplete autocomplete mode](images/autocompletemode.png) + diff --git a/xamarin-android/SfAutoComplete/Various-Filter-Options-for-Suggestion.md b/xamarin-android/SfAutoComplete/Various-Filter-Options-for-Suggestion.md index 19645e90..99173a9e 100644 --- a/xamarin-android/SfAutoComplete/Various-Filter-Options-for-Suggestion.md +++ b/xamarin-android/SfAutoComplete/Various-Filter-Options-for-Suggestion.md @@ -1,7 +1,7 @@ --- layout : post -title : Suggestion mode for Syncfusion® AutoComplete Control in Xamarin.Android -description : Learn how to display suggestion mode in SfAutoComplete +title : Various Filter Options for Suggestion in Syncfusion® AutoComplete Control for Xamarin.Android +description : Learn how to configure various filter options and suggestion modes in SfAutoComplete platform : Xamarin.Android control : SfAutoComplete documentation : ug @@ -9,11 +9,11 @@ documentation : ug # Various Filter Options for Suggestion -By default, the items that matches with the starting letter will be displayed as suggestion. This phenomenon can be changed using `SuggestionMode` property, which provides various option to filter the data according to the text entered. There are eight types of suggestion modes and are described as follows. +By default, items that match the starting letter will be displayed as suggestions. This behavior can be changed using the `SuggestionMode` property, which provides various options to filter the data according to the text entered. There are eight types of suggestion modes, which are described as follows: -## Words that Starts with Input Text +## Words that Start with Input Text -Displays the list of suggestions based on starting letter. +Displays the list of suggestions based on the starting letter. {% tabs %} @@ -25,11 +25,10 @@ Displays the list of suggestions based on starting letter. {% endtabs %} -![](images/startswith.png) - +![StartsWith filter mode example](images/startswith.png) ### Filter with Character Casing -Displays the list of suggestions based on starting letter with case sensitive. +Displays the list of suggestions based on the starting letter with case sensitivity. {% tabs %} @@ -41,11 +40,10 @@ Displays the list of suggestions based on starting letter with case sensitive. {% endtabs %} -![](images/startswithcasesensitive.png) - -## Words that Contains the Input Text +![StartsWith case sensitive filter mode example](images/startswithcasesensitive.png) +## Words that Contain the Input Text -Displays the list of suggestions, if autocomplete list contains that words. +Displays the list of suggestions if the AutoComplete list contains those words. {% tabs %} @@ -57,11 +55,10 @@ Displays the list of suggestions, if autocomplete list contains that words. {% endtabs %} -![](images/contains.png) - +![Contains filter mode example](images/contains.png) ### Filter with Character Casing -Displays the list of suggestions, if autocomplete list contains that words with case sensitive. +Displays the list of suggestions if the AutoComplete list contains those words with case sensitivity. {% tabs %} @@ -73,12 +70,10 @@ Displays the list of suggestions, if autocomplete list contains that words with {% endtabs %} -![](images/containswithcasesensitive.png) - -## Words that Equals to the Input Text - -Displays the word that matches. +![Contains case sensitive filter mode example](images/containswithcasesensitive.png) +## Words that Equal the Input Text +Displays words that exactly match the input text. {% tabs %} {% highlight C# %} @@ -89,11 +84,10 @@ Displays the word that matches. {% endtabs %} -![](images/equals.png) - +![Equals filter mode example](images/equals.png) ### Filter with Character Casing -Displays the word that matches with case sensitive. +Displays words that exactly match the input text with case sensitivity. {% tabs %} @@ -105,11 +99,10 @@ Displays the word that matches with case sensitive. {% endtabs %} -![](images/equalswithcasesensitive.png) +![Equals case sensitive filter mode example](images/equalswithcasesensitive.png) +## Words that End with Input Text -## Words that Ends with Input Text - -Displays the list of suggestions based on ending word. +Displays the list of suggestions based on the ending text. {% tabs %} @@ -121,11 +114,10 @@ Displays the list of suggestions based on ending word. {% endtabs %} -![](images/endswith.png) - +![EndsWith filter mode example](images/endswith.png) ### Filter with Character Casing -Displays the list of suggestions based on the ending word with case sensitive. +Displays the list of suggestions based on the ending text with case sensitivity. {% tabs %} @@ -137,12 +129,11 @@ countryAutoComplete.SuggestionMode = SuggestionMode.EndsWithCaseSensitive; {% endtabs %} -![](images/endswithcasesensitive.png) - +![EndsWith case sensitive filter mode example](images/endswithcasesensitive.png) +## Custom Filter -### Custom filter +Displays the list of suggestions based on custom filtering logic in the SfAutoComplete. -Displays the list of suggestions based on the custom words in the SfAutoComplete. {% tabs %} {% highlight C# %} @@ -153,7 +144,4 @@ countryAutoComplete.SuggestionMode = SuggestionMode.Custom; {% endtabs %} -![](images/customfilter.png) - - - +![Custom filter mode example](images/customfilter.png) diff --git a/xamarin-android/SfAutoComplete/Watermark.md b/xamarin-android/SfAutoComplete/Watermark.md index 2b568e24..ca0c635b 100644 --- a/xamarin-android/SfAutoComplete/Watermark.md +++ b/xamarin-android/SfAutoComplete/Watermark.md @@ -1,7 +1,7 @@ --- layout : post -title : WaterMark in Syncfusion® AutoComplete Control for Xamarin.Android -description : Learn how to set the Watermark in SfAutoComplete +title : Watermark in Syncfusion® AutoComplete Control for Xamarin.Android +description : Learn how to set and customize the watermark text in SfAutoComplete platform : Xamarin.Android control : SfAutoComplete documentation : ug @@ -9,8 +9,7 @@ documentation : ug # Watermark -This property is used to customize the watermark text that is displayed when the textbox is empty. - +The `Watermark` property is used to set placeholder text that is displayed when the text input is empty. This provides users with helpful hints about the expected input format or content. {% tabs %} {% highlight C# %} @@ -21,4 +20,4 @@ This property is used to customize the watermark text that is displayed when the {% endtabs %} -![](images/watermark.png) +![Watermark example in AutoComplete](images/watermark.png) diff --git a/xamarin-android/SfAutoComplete/highlighting-matched-text.md b/xamarin-android/SfAutoComplete/highlighting-matched-text.md index 1d81a568..c009e46b 100644 --- a/xamarin-android/SfAutoComplete/highlighting-matched-text.md +++ b/xamarin-android/SfAutoComplete/highlighting-matched-text.md @@ -1,13 +1,13 @@ --- layout : post -title: MatchHighlighting text in Syncfusion® SfAutoComplete control. -description: Learn on how to highlight the matched text in SfAutoComplete for Xamarin.Android and also understood the highlight the matching characters in suggestion list +title: Highlighting Matched Text in Syncfusion® SfAutoComplete Control +description: Learn how to highlight matched text in SfAutoComplete for Xamarin.Android and understand how to highlight matching characters in the suggestion list platform : Xamarin.Android control : SfAutoComplete documentation : ug --- -# Highlighting matched text +# Highlighting Matched Text Highlight matching characters in a suggestion list to pick an item with more clarity. There are two ways to highlight the matching text: @@ -16,15 +16,14 @@ Highlight matching characters in a suggestion list to pick an item with more cla * Multiple Occurrence -The text highlight can be indicated with various customizing styles by enabling the below properties. They are +Text highlighting can be customized with various styles using the following properties: -* HighlightedTextColor - sets the color of the highlighted text for differentiating the highlighted characters. - -* HighlightedTextFontTypeFace - sets the FontAttributes of the highlighted text. +* `HighlightedTextColor` - Sets the color of the highlighted text for differentiating the highlighted characters. +* `HighlightedTextFontTypeFace` - Sets the font attributes of the highlighted text. ## First Occurrence -It highlights the first position of the matching characters in the suggestion list. +This mode highlights the first position of the matching characters in the suggestion list. {% tabs %} @@ -39,14 +38,12 @@ countryAutoComplete.HighlightedTextFontTypeFace = TypefaceStyle.Bold; {% endtabs %} -N> The default Color of HighlightedTextColor is Red. - The default FontAttribute of HighlightedTextFontTypeFace is None. - +N> The default color of `HighlightedTextColor` is Red. The default font attribute of `HighlightedTextFontTypeFace` is None. ![First Occurrence AutoComplete Image](images/FirstOccurrence.png) ## Multiple Occurrence -It highlights the matching character that are present everywhere in the suggestion list for Contains case in SuggestionMode. +This mode highlights the matching characters that are present everywhere in the suggestion list for Contains case in SuggestionMode. {% tabs %} @@ -65,3 +62,4 @@ countryNameAutoComplete.HighlightedTextFontTypeFace = TypefaceStyle.Bold; + diff --git a/xamarin-android/SfBusyIndicator/AnimationType.md b/xamarin-android/SfBusyIndicator/AnimationType.md index bf9beca0..81822e45 100644 --- a/xamarin-android/SfBusyIndicator/AnimationType.md +++ b/xamarin-android/SfBusyIndicator/AnimationType.md @@ -9,8 +9,7 @@ documentation: ug # AnimationType -The `AnimationType` property of SfBusyIndicator allows to set anyone of the animation from the built-in animations as a SfBusyIndicator. - +The `AnimationType` property of SfBusyIndicator allows you to set any of the built-in animations for the SfBusyIndicator control. This property provides various predefined animation styles to enhance the visual appeal of the loading indicator. {% tabs %} {% highlight c# %} @@ -26,3 +25,4 @@ N> For getting animation types of SfBusyIndicator, need to add the `using Com.Sy ![](images/Ball.png) + diff --git a/xamarin-android/SfBusyIndicator/Getting-Started.md b/xamarin-android/SfBusyIndicator/Getting-Started.md index 0b112493..ac60d6b0 100644 --- a/xamarin-android/SfBusyIndicator/Getting-Started.md +++ b/xamarin-android/SfBusyIndicator/Getting-Started.md @@ -9,23 +9,23 @@ documentation: ug # Getting Started with Xamarin.Android BusyIndicator -This section explains you the steps to configure a SfBusyIndicator control in a real-time scenario and also provides a walk-through on some of the customization features available in SfBusyIndicator control. +This section explains the steps to configure a SfBusyIndicator control in a real-time scenario and provides a walk-through of some customization features available in the SfBusyIndicator control. ## Referencing Essential Studio® Components in Your Solution -After installing Essential Studio® for Xamarin, you can find all the required assemblies in the installation folders, +After installing Essential Studio® for Xamarin, you can find all the required assemblies in the installation folders: {Syncfusion Installed location}\Essential Studio\12.4.0.24\lib -Add the following assembly references to the Android project, +Add the following assembly reference to the Android project: android\Syncfusion.SfBusyIndicator.Android.dll ## Add SfBusyIndicator -The following steps helps to add a SfBusyIndicator control through code. +The following steps help you add a SfBusyIndicator control through code. -* Adding namespace for the added assemblies. +* Add the namespace for the added assemblies. {% tabs %} @@ -37,7 +37,7 @@ using Com.Syncfusion.SfBusyIndicator; {% endtabs %} -* Now add the SfBusyIndicator control with a required optimal name by using the included namespace. +* Now add the SfBusyIndicator control with the required optimal name using the included namespace. {% tabs %} @@ -52,9 +52,9 @@ SetContentView(busyIndicator); ## Setting Animation Type -SfBusyIndicator provides 10 predefined animation types like Ball, Battery, Globe and so on. User can select any one of the animation types using AnimationType property. +SfBusyIndicator provides 10 predefined animation types such as Ball, Battery, Globe, and more. You can select any one of the animation types using the `AnimationType` property. -Following example depicts the battery type animation for SfBusyIndicator. +The following example demonstrates the battery type animation for SfBusyIndicator: {% tabs %} @@ -67,9 +67,9 @@ busyIndicator.AnimationType = AnimationTypes.Battery; {% endtabs %} -## Configure the Properties in SfBusyIndicator +## Configure Properties in SfBusyIndicator -User can customize the height, width and TextColor properties in SfBusyIndicator as follows. +You can customize the height, width, and text color properties in SfBusyIndicator as follows: {% tabs %} diff --git a/xamarin-android/SfBusyIndicator/Make-Busy-Animation-Idle.md b/xamarin-android/SfBusyIndicator/Make-Busy-Animation-Idle.md index 37c3ca91..3f6fbc3e 100644 --- a/xamarin-android/SfBusyIndicator/Make-Busy-Animation-Idle.md +++ b/xamarin-android/SfBusyIndicator/Make-Busy-Animation-Idle.md @@ -9,7 +9,7 @@ documentation: ug # Make Busy Animation Idle -SfBusyIndicator control provides support to determine whether an animation needs to be executed or not. Setting the `IsBusy` property to false will stop the animation and removes the control from view. +The SfBusyIndicator control provides support to control whether the animation should be running. The `IsBusy` property determines the visibility and animation state of the busy indicator. {% tabs %} @@ -29,3 +29,4 @@ BusyIndicator {:.caption} + diff --git a/xamarin-android/SfBusyIndicator/Overview.md b/xamarin-android/SfBusyIndicator/Overview.md index 2db844ce..2fa93e19 100644 --- a/xamarin-android/SfBusyIndicator/Overview.md +++ b/xamarin-android/SfBusyIndicator/Overview.md @@ -3,16 +3,15 @@ layout: post title: Overview of Syncfusion® BusyIndicator for Xamarin.Android description: Overview and key features of BusyIndicator control platform: Xamarin.Android -control: BusyIndicator +control: SfBusyIndicator documentation: ug --- # SfBusyIndicator -SfBusyIndicator makes it easy to let the user know when an application is busy. Simply wrap the relevant content in an instance of the SfBusyIndicator control and toggle its `IsBusy` property to True during any long-running process. The busy indicator should be used to indicate activity while content is being loaded or the UI is blocked waiting for a resource to become available. - -![](images/overview.png) +The SfBusyIndicator control makes it easy to let users know when an application is busy. Simply wrap the relevant content in an instance of the SfBusyIndicator control and toggle its `IsBusy` property to `true` during any long-running process. The busy indicator should be used to indicate activity while content is being loaded or the UI is blocked waiting for a resource to become available. +![SfBusyIndicator overview](images/overview.png) ## Key Features * `IsBusy` – The control shows the animation when this property is set. @@ -22,3 +21,4 @@ SfBusyIndicator makes it easy to let the user know when an application is busy. + diff --git a/xamarin-android/SfBusyIndicator/Set-Header.md b/xamarin-android/SfBusyIndicator/Set-Header.md index c2a3404e..5e3a631d 100644 --- a/xamarin-android/SfBusyIndicator/Set-Header.md +++ b/xamarin-android/SfBusyIndicator/Set-Header.md @@ -1,7 +1,7 @@ --- layout: post -title: Set title to the Syncfusion® BusyIndicator control for Xamarin.Android -description: Learn how to set title and fontface to BusyIndicator control +title: Set header to the Syncfusion® BusyIndicator control for Xamarin.Android +description: Learn how to set header text and customize font properties for the BusyIndicator control platform: Xamarin.Android control: SfBusyIndicator documentation: ug @@ -9,8 +9,7 @@ documentation: ug # Set Header -SfBusyIndicator provides option to set the text that indicates the information related to loading. This can be done using `Title` property. - +The SfBusyIndicator control provides an option to display informative text that indicates the current loading status. You can set this header text using the `Title` property to provide users with context about the ongoing operation. {% tabs %} {% highlight c# %} @@ -25,13 +24,12 @@ SfBusyIndicator provides option to set the text that indicates the information r ![](images/Title_img1.png) -BusyIndicator with title +BusyIndicator with header text {:.caption} ## FontFace -User can modify the Font style and Font size of the title which is displayed beneath the animation. `FontFace` property can be used to modify these settings. - +You can customize the font style and size of the header text that appears beneath the animation. Use the `FontFace` property to modify the typography settings and enhance the visual appearance of your loading indicator. {% tabs %} {% highlight c# %} @@ -47,6 +45,7 @@ User can modify the Font style and Font size of the title which is displayed ben ![](images/Title_img2.png) -BusyIndicator with font face +BusyIndicator with custom font face {:.caption} + diff --git a/xamarin-android/SfBusyIndicator/Sizing.md b/xamarin-android/SfBusyIndicator/Sizing.md index 753afa11..a85d3fce 100644 --- a/xamarin-android/SfBusyIndicator/Sizing.md +++ b/xamarin-android/SfBusyIndicator/Sizing.md @@ -1,7 +1,7 @@ --- layout: post title: Sizing support in Syncfusion® BusyIndicator control for Xamarin.Android -description: Learn how to customize the size of the animation type +description: Learn how to customize the size and dimensions of the BusyIndicator animation platform: Xamarin.Android control: SfBusyIndicator documentation: ug @@ -9,8 +9,7 @@ documentation: ug # Sizing -Drawing size can be customized in SfBusyIndicator. `ViewBoxHeight` and `ViewBoxWidth` properties can be used to set height and width of the SfBusyIndicator. - +You can customize the display size of the SfBusyIndicator control to fit your application's layout requirements. The `ViewBoxHeight` and `ViewBoxWidth` properties allow you to set the height and width dimensions of the animation area, giving you precise control over how the busy indicator appears in your user interface. {% tabs %} {% highlight c# %} @@ -28,3 +27,4 @@ busyIndicator.ViewBoxHeight=200; ViewBox height and width {:.caption} + diff --git a/xamarin-android/SfCarousel/Linear-Arrangement.md b/xamarin-android/SfCarousel/Linear-Arrangement.md index 3a90db00..fc450e63 100644 --- a/xamarin-android/SfCarousel/Linear-Arrangement.md +++ b/xamarin-android/SfCarousel/Linear-Arrangement.md @@ -1,15 +1,15 @@ --- -layout : post -title : Overview of Syncfusion® Carousel control for Xamarin.Forms -description : Overview and key features of Carousel control -platform : Xamarin -control : Carousel -documentation : ug +layout: post +title: Linear Arrangement in Syncfusion® Carousel control for Xamarin.Android +description: Learn how to arrange carousel items in linear layout using ViewMode property in Xamarin.Android +platform: Xamarin.Android +control: SfCarousel +documentation: ug --- # Linear Arrangement -The Carousel items can be populated in the view in a stacked linear layout by setting the `ViewMode` property to Linear. The present option is `Default`. +The Carousel items can be arranged in a stacked linear layout by setting the `ViewMode` property to `Linear`. The default option is `Default`, which displays items in the standard carousel arrangement. {% highlight C# %} @@ -18,9 +18,7 @@ carousel.ViewMode = ViewMode.Linear; {% endhighlight %} -N> It is important to include Xamarin.Android.Support.v17.Leanback library to use carousel linear mode in Android platform. - -![](images/linear.png) - +N> It is important to include the Xamarin.Android.Support.v17.Leanback library to use the carousel linear mode on the Android platform. +![Linear arrangement](images/linear.png) diff --git a/xamarin-android/SfCarousel/animation.md b/xamarin-android/SfCarousel/animation.md index 5024afdc..8fa100ad 100644 --- a/xamarin-android/SfCarousel/animation.md +++ b/xamarin-android/SfCarousel/animation.md @@ -1,16 +1,15 @@ --- -layout : post -title : Setting the duration for animation in Syncfusion® Carousel control in Xamarin.Android -description : Learn how to set the duration for animation in Carousel for Xamarin.Android -platform : Xamarin.Android -control : SfCarousel -documentation : ug +layout: post +title: Setting the duration for animation in Syncfusion® Carousel control in Xamarin.Android +description: Learn how to set the duration for animation in Carousel for Xamarin.Android +platform: Xamarin.Android +control: SfCarousel +documentation: ug --- # Animation -The Duration property of the SfCarousel control is used to specify the time taken to move an item to the selected item position. The duration is specified in seconds. The default value is 300s. - +The [Duration](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfCarousel.Android.SfCarousel.html#Syncfusion_SfCarousel_Android_SfCarousel_Duration) property of the SfCarousel control specifies the time taken for the animation when an item moves to the selected position. The duration is specified in milliseconds. The default value is 300 milliseconds. {% highlight C# %} SfCarousel carousel= new SfCarousel(this); @@ -18,3 +17,4 @@ SfCarousel carousel= new SfCarousel(this); carousel.Duration=500; {% endhighlight %} + diff --git a/xamarin-android/SfCarousel/getting-started.md b/xamarin-android/SfCarousel/getting-started.md index 18638aa9..0b459360 100644 --- a/xamarin-android/SfCarousel/getting-started.md +++ b/xamarin-android/SfCarousel/getting-started.md @@ -1,23 +1,23 @@ --- -layout : post -title : Getting Started with Syncfusion® Carousel Control for Xamarin.Android -description : A quick tour to initial users on Syncfusion® carousel control for Xamarin.Android platform. -platform : Xamarin.Android -control : SfCarousel -documentation : ug +layout: post +title: Getting Started with Syncfusion® Carousel Control for Xamarin.Android +description: A quick tour to initial users on Syncfusion® carousel control for Xamarin.Android platform. +platform: Xamarin.Android +control: SfCarousel +documentation: ug --- # Getting Started -This section explains you the steps to configure a SfCarousel control in a real-time scenario and also provides a walk-through on some of the customization features available in SfCarousel control. +This section explains the steps to configure a SfCarousel control in a real-time scenario and provides a walk-through of some customization features available in the SfCarousel control. ## Referencing Essential Studio® components in your solution -After installing Essential Studio® for Xamarin, you can find all the required assemblies in the installation folders, +After installing Essential Studio® for Xamarin, you can find all the required assemblies in the installation folders: {Syncfusion Installed location}\Essential Studio\15.x.x.x\lib -Add the following assembly references to the Android project, +Add the following assembly references to the Android project: android\Syncfusion.SfCarousel.Android.dll @@ -27,7 +27,7 @@ Xamarin.Android.Support.v17.Leanback library (from NuGet Packages) ## Add SfCarousel -The SfCarousel control is configured entirely in C# code. The following steps explain on how to create a SfCarousel and configure its elements, +The SfCarousel control is configured entirely in C# code. The following steps explain how to create a SfCarousel and configure its elements: * Adding namespace for the added assemblies. @@ -37,7 +37,7 @@ using Com.Syncfusion.Carousel; {% endhighlight %} -* Now add the SfCarousel control with a required optimal name by using the included namespace. +* Now add the SfCarousel control with a required optimal name using the included namespace. {% highlight C# %} @@ -48,7 +48,7 @@ SetContentView(carousel); ## Set Gap between Items -SfCarousel provides option to set the distance between the items in the panel. This can be done by using the `Offset` property in SfCarousel control. +SfCarousel provides an option to set the distance between items in the panel. This can be accomplished using the `Offset` property in the SfCarousel control. {% highlight C# %} @@ -57,9 +57,9 @@ carousel.Offset=20; {% endhighlight %} -## Tilt Non Selected Items +## Tilt Non-Selected Items -Items in the SfCarousel control can be rotated in user defined angle. `RotationAngle` property is used to decide the angle in which items should be rotated. +Items in the SfCarousel control can be rotated at a user-defined angle. The `RotationAngle` property is used to specify the angle at which items should be rotated. {% highlight C# %} @@ -70,7 +70,7 @@ carousel.RotationAngle = 45; ## Setting DataSource -SfCarousel items can be populated with a collection of image data. For example, a user may want to create a SfCarousel control which will display a list of images. +SfCarousel items can be populated with a collection of image data. For example, you may want to create a SfCarousel control that displays a list of images. {% highlight c# %} @@ -88,10 +88,9 @@ carousel.DataSource = tempCollection; {% endhighlight %} +### Setting the height and width of carousel items -### Setting the height and width of carousel's Item - -`ItemHeight` and `ItemWidth` properties are used to change the height and width of carouselItem in carousel panel. +The `ItemHeight` and `ItemWidth` properties are used to change the height and width of carousel items in the carousel panel. {% highlight C# %} @@ -103,7 +102,7 @@ sfCarousel.ItemHeight=170; ## SelectedIndex -We can bring particular item to the center of the screen using `SelectedIndex` property in SfCarousel control. +You can bring a particular item to the center of the screen using the `SelectedIndex` property in the SfCarousel control. N> The `SelectedIndex` property will be 0 by default. @@ -114,6 +113,6 @@ carousel.SelectedIndex=2; {% endhighlight %} -![](images/carousel.png) +![Carousel](images/carousel.png) -You can find the complete getting started sample from this [Link](http://www.syncfusion.com/downloads/support/directtrac/general/ze/GettingStartedSampleCarousel39791457) \ No newline at end of file +You can find the complete getting started sample from this [Link](http://www.syncfusion.com/downloads/support/directtrac/general/ze/GettingStartedSampleCarousel39791457) diff --git a/xamarin-android/SfCarousel/how-to.md b/xamarin-android/SfCarousel/how-to.md index b810d808..0bab1a82 100644 --- a/xamarin-android/SfCarousel/how-to.md +++ b/xamarin-android/SfCarousel/how-to.md @@ -1,15 +1,15 @@ --- -layout : post -title : Interaction in Syncfusion® Carousel Control in Xamarin.Android. -description : Learn how to perform an operation while changing the carouselItem or Collection in Carousel for Xamarin.Android. -platform : Xamarin.Android -control : Carousel -documentation : ug +layout: post +title: Interaction in Syncfusion® Carousel Control in Xamarin.Android +description: Learn how to perform an operation while changing the carouselItem or Collection in Carousel for Xamarin.Android +platform: Xamarin.Android +control: SfCarousel +documentation: ug --- -# How to perform an operation while changing the carouselItem? +# How to perform an operation while changing the carousel item? -We can perform operation while changing the carouselItem using `SelectionChanged` event. SelectionChanged event returns the index changed SfCarouselItem. +You can perform an operation while changing the carousel item using the `SelectionChanged` event. The SelectionChanged event returns the SfCarouselItem with the changed index. {% highlight C# %} @@ -22,7 +22,7 @@ carousel.SelectionChanged += (object sender, SfCarousel.SelectionChangedEventArg # How to perform an operation while changing the collection of carousel? -We can perform operation while changing the collection of carousel using `ItemsCollectionChanged` event. ItemsCollectionChanged event returns changed collection of SfCarouselItem +You can perform an operation while changing the collection of carousel using the `ItemsCollectionChanged` event. The ItemsCollectionChanged event returns the changed collection of SfCarouselItem. {% highlight C# %} diff --git a/xamarin-android/SfCarousel/overview.md b/xamarin-android/SfCarousel/overview.md index 14f8e66f..6b06ce4d 100644 --- a/xamarin-android/SfCarousel/overview.md +++ b/xamarin-android/SfCarousel/overview.md @@ -2,20 +2,21 @@ layout: post title: Overview of Syncfusion® Carousel control for Xamarin.Android description: This explains about the Overview and key features of Syncfusion® Essential® Xamarin.Android Carousel Control -platform: xamarin.android -control: Carousel +platform: Xamarin.Android +control: SfCarousel documentation: ug --- # Overview -Essential® SfCarousel control for Xamarin.Android is a user interface providing rich visual navigation experience of image data. Also provides efficient customization of items and interactive navigation features. +The Essential® SfCarousel control for Xamarin.Android is a user interface control that provides a rich visual navigation experience for image data. It also provides efficient customization of items and interactive navigation features, allowing developers to create engaging carousel interfaces for mobile applications. ![Xamarin.Android Carousel Overview](images/carousel.png) -## Key Features: +## Key Features * `Offset` - Options to specify the space between the unselected carousel items. * `Rotation Angle` - Support to rotate the items to a specified angle. * `Duration` - Options to specify the time taken to move an item to the selected item position. + diff --git a/xamarin-android/SfCarousel/populating-data.md b/xamarin-android/SfCarousel/populating-data.md index e053f991..6894b79a 100644 --- a/xamarin-android/SfCarousel/populating-data.md +++ b/xamarin-android/SfCarousel/populating-data.md @@ -3,17 +3,17 @@ layout: post title: Populating data in Syncfusion® Carousel control in Xamarin.Android description: Learn details about how to set the DataSource, set the customview, adapter support and selected index in Carousel for Xamarin.Android platform platform: Xamarin.Android -control: Carousel +control: SfCarousel documentation: ug --- # Populating Data in Xamarin.Android Carousel (SfCarousel) -`DataSource` property is used to populate the collection of SfCarouselItem which can be either the collection of Image or custom view. +The `DataSource` property is used to populate the collection of SfCarouselItem, which can be either a collection of images or custom views. ## DataSource with collection of images -SfCarousel items can be populated with a collection of image data. For example, a user may wants to create a SfCarousel control which will display a list of images. +SfCarousel items can be populated with a collection of image data. For example, you may want to create a SfCarousel control that displays a list of images. {% highlight C# %} @@ -34,9 +34,9 @@ SetContentView(carousel); {% endhighlight %} -## DataSource with collection of custom view +## DataSource with collection of custom views -`ContentView` property used to populate with a collection of custom view. +The `ContentView` property is used to populate the carousel with a collection of custom views. {% highlight C# %} @@ -74,11 +74,11 @@ SetContentView(carousel); ## Adapter Support in Carousel control -Instead of giving the collection of desired SfCarouselItem, we can pass the single view which connects with some kind of DataSource. +Instead of providing a collection of SfCarouselItem objects, you can pass a single view that connects with a data source using the adapter pattern. ### Create an adapter class by inheriting CarouselAdapter -By extending the `CarouselAdapter` class, we can have Adapter support in Carousel with `getItemView` method. +By extending the `CarouselAdapter` class, you can implement adapter support in Carousel using the `GetItemView` method. {% highlight c# %} @@ -108,7 +108,7 @@ public class AdapterTestingClass:CarouselAdapter } {% endhighlight %} -### Way to use this adapter class into Carousel panel view +### Using the adapter class with Carousel {% highlight C# %} @@ -141,7 +141,7 @@ SetContentView(carousel); ## SelectedIndex -It gets or sets the Selected Item index value of SfCarousel control to bring the particular item to center of the screen. +The SelectedIndex property gets or sets the selected item index value of the SfCarousel control to bring a particular item to the center of the screen. N> The `SelectedIndex` property will be 0 by default. @@ -152,5 +152,4 @@ carousel.SelectedIndex=2; {% endhighlight %} - Load images from SD card or internal storage to carousel view sample available in this [link](https://github.com/SyncfusionExamples/how-to-load-image-from-sdcard-or-internal-storage-in-carousel-view-xamarin-android). - +You can find a sample for loading images from SD card or internal storage to carousel view at this [link](https://github.com/SyncfusionExamples/how-to-load-image-from-sdcard-or-internal-storage-in-carousel-view-xamarin-android). diff --git a/xamarin-android/SfCarousel/transformation.md b/xamarin-android/SfCarousel/transformation.md index 81e3f43c..e80e44cd 100644 --- a/xamarin-android/SfCarousel/transformation.md +++ b/xamarin-android/SfCarousel/transformation.md @@ -1,21 +1,21 @@ --- -layout : post -title : Transformation in Syncfusion® Carousel control in Xamarin.Android -description : Learn how to set the Transformation in Carousel for Xamarin.Android -platform : Xamarin.Android -control : Carousel -documentation : ug +layout: post +title: Transformation in Syncfusion® Carousel control in Xamarin.Android +description: Learn how to set the Transformation in Carousel for Xamarin.Android +platform: Xamarin.Android +control: SfCarousel +documentation: ug --- # Transformation -## Tilt Non Selected Items +## Tilt Non-Selected Items -The `RotationAngle` property in the SfCarousel control is used to rotate all the items in a specified angle. +The `RotationAngle` property in the SfCarousel control is used to rotate all items to a specified angle. -If the angle value is positive, then the rotation is in the clockwise direction. If the angle value is negative, the rotation is in the counterclockwise direction. +If the angle value is positive, the rotation is in the clockwise direction. If the angle value is negative, the rotation is in the counterclockwise direction. -N> This angle can also be specified from 0 to 360. +N> This angle can be specified from 0 to 360 degrees. {% highlight C# %} @@ -25,12 +25,11 @@ carousel.RotationAngle=40; {% endhighlight %} - -![](images/rotationangle.png) +![Rotation angle transformation](images/rotationangle.png) ## Set Gap between Unselected Items -Specify the distance between the items in SfCarousel panel using `Offset` property. +Specify the distance between items in the SfCarousel panel using the `Offset` property. N> The default value is 20. @@ -42,11 +41,11 @@ carousel.Offset=30; {% endhighlight %} -![](images/offset.png) +![Offset between items](images/offset.png) -## Set Gap between Selected Item and Unselected Item +## Set Gap between Selected Item and Unselected Items -Distance between the selected item and other items can be customized by using `SelectedItemOffset` property. +The distance between the selected item and other items can be customized using the `SelectedItemOffset` property. N> The default value is 0. @@ -60,7 +59,7 @@ carousel.SelectedItemOffset=5; ## Set Scaling for Carousel Items -The `ScaleOffset` property in the SfCarousel control is used to scale all the unselected items to the specified scale value. +The `ScaleOffset` property in the SfCarousel control is used to scale all unselected items to the specified scale value. {% highlight C# %} @@ -69,12 +68,11 @@ carousel.ScaleOffset=0.7f; {% endhighlight %} +![Scale offset transformation](images/scaleoffset.png) -![](images/scaleoffset.png) - -## Spacing between the Items in Linear mode +## Spacing between Items in Linear Mode -Spacing of all the items in Linear mode can be determined by using `ItemSpacing` property. +The spacing of all items in Linear mode can be determined using the `ItemSpacing` property. {% highlight C# %} diff --git a/xamarin-android/SfComboBox/ComboBox-Modes.md b/xamarin-android/SfComboBox/ComboBox-Modes.md index 5c503d9b..1eb56b03 100644 --- a/xamarin-android/SfComboBox/ComboBox-Modes.md +++ b/xamarin-android/SfComboBox/ComboBox-Modes.md @@ -1,20 +1,19 @@ --- -layout : post -title : ComboBox modes for Syncfusion® ComboBox control in Xamarin.Android -description : Learn how to change the ComboBox modes in SfComboBox -platform : Xamarin.Android -control : SfComboBox -documentation : ug +layout: post +title: ComboBox Modes in Syncfusion® SfComboBox for Xamarin.Android +description: Learn how to configure and use different ComboBox modes in the Syncfusion SfComboBox control for Xamarin.Android applications +platform: Xamarin.Android +control: SfComboBox +documentation: ug +tags: [ComboBox, Xamarin.Android, Syncfusion, SfComboBox, Editable, Non-editable, Dropdown, User-Input, Mobile-Controls] --- -# ComboBox modes +# ComboBox Modes -The SfComboBox supports both editable and non-editable text boxes to choose selected items in given data source. Users can select an item from the suggestion list. - -## Editable combo box - -In editable mode, the combo box allows users to edit in the text box that shows the suggestion in drop-down list based on the input. +The Syncfusion SfComboBox control supports both editable and non-editable modes, providing flexibility in how users interact with the control. In both modes, users can select items from a dropdown list populated with data from a given data source. +## Editable ComboBox +In editable mode, the ComboBox allows users to type directly into the text input field. As users type, the control displays filtered suggestions in a dropdown list based on their input. This mode is ideal when you want to provide both selection and custom input capabilities. {% tabs %} {% highlight C# %} @@ -23,12 +22,11 @@ comboBox.IsEditableMode = true; {% endtabs %} -![](images/editable.png) +![Editable ComboBox](images/editable.png) -## Non-editable combo box - -Non-editable mode is used to prevent users from typing and allows them select from the drop-down list. +## Non-editable ComboBox +Non-editable mode restricts user input to selection only, preventing users from typing in the text field. Users can only choose from the predefined items in the dropdown list. This mode is suitable when you want to limit user choices to specific options and prevent custom input. {% tabs %} {% highlight C# %} @@ -37,5 +35,6 @@ comboBox.IsEditableMode = false; {% endtabs %} -![](images/noneditable.png) +![Non-editable ComboBox](images/noneditable.png) + diff --git a/xamarin-android/SfComboBox/Customizing.md b/xamarin-android/SfComboBox/Customizing.md index f7de5084..3a17514a 100644 --- a/xamarin-android/SfComboBox/Customizing.md +++ b/xamarin-android/SfComboBox/Customizing.md @@ -1,20 +1,19 @@ --- -layout : post -title : UI Customization for Syncfusion® ComboBox Control in Xamarin.Android -description : Learn how to use customization in SfComboBox -platform : Xamarin.Android -control : SfComboBox -documentation : ug +layout: post +title: UI Customization for Syncfusion® SfComboBox in Xamarin.Android +description: Learn how to customize the appearance and styling of the Syncfusion SfComboBox control, including entry field, dropdown, buttons, and watermark customization +platform: Xamarin.Android +control: SfComboBox +documentation: ug +tags: [UI-Customization, ComboBox, Xamarin.Android, Syncfusion, SfComboBox, Styling, Theming, Dropdown-Customization, Text-Formatting, Button-Customization, Watermark, Mobile-UI] --- -# UI customization +# UI Customization -The combo box control provides user-friendly customizing options for both entry part and drop-down part. This section explains how to customize the entire combo box control. - -## Customizing the entry - -The `TextColor`, `TextSize`, `FontAttributes`, `FontFamily` and `BorderColor` properties are used to customize the foreground color, font size, font attribute, font family, and border color of the entry part. +The Syncfusion SfComboBox control provides comprehensive customization options for both the entry field and dropdown components. This section demonstrates how to customize the visual appearance of the entire ComboBox control to match your application's design requirements. +## Customizing the Entry Field +The entry field appearance can be customized using properties such as `TextColor`, `TextSize`, `FontTypeface`, and `BorderColor` to modify the text color, font size, font style, and border color respectively. {% tabs %} {% highlight C# %} @@ -36,13 +35,13 @@ SetContentView(linearLayout); {% endtabs %} -![Customizing entry](images/customizingentry.png) +![Customized entry field appearance](images/customizingentry.png) -## Customizing the suggestion box +## Customizing the Dropdown -### Changing suggestion item height +### Changing Dropdown Item Height -The `DropDownItemHeight` property is used to modify the height of suggestion items in the drop-down list. The following code example shows this: +The `DropDownItemHeight` property allows you to modify the height of individual items in the dropdown list, providing better visual spacing and improved readability. {% tabs %} @@ -59,12 +58,11 @@ comboBox.DropDownItemHeight = 70; {% endtabs %} -![Suggestion item height](images/suggestionitemheight.png) +![Custom dropdown item height](images/suggestionitemheight.png) -### Changing the border color of suggestion box - -The DropDownBorderColor property is used to change the border color of suggestion box. The following code example demonstrates how to change the border color of suggestion box. +### Changing the Dropdown Border Color +The `DropDownBorderColor` property customizes the border color of the dropdown container, allowing you to match your application's color scheme. {% tabs %} {% highlight C# %} @@ -189,3 +187,4 @@ comboBox.WatermarkColor= Color.ParseColor("#1976d2"); + diff --git a/xamarin-android/SfComboBox/Dealing-with-SuggestionBox.md b/xamarin-android/SfComboBox/Dealing-with-SuggestionBox.md index 32b40a54..310cf2a4 100644 --- a/xamarin-android/SfComboBox/Dealing-with-SuggestionBox.md +++ b/xamarin-android/SfComboBox/Dealing-with-SuggestionBox.md @@ -1,25 +1,25 @@ --- -layout : post -title : Suggestionbox Placement in Syncfusion® SfComboBox control for Xamarin.Android -description : Learn how to place the Suggestion Box in SfComboBox -platform : Xamarin.Android -control : ComboBox -documentation : ug +layout: post +title: Suggestion Box Placement in Syncfusion® SfComboBox for Xamarin.Android +description: Learn how to configure and control the placement of the suggestion box in the Syncfusion SfComboBox control for optimal user experience +platform: Xamarin.Android +control: SfComboBox +documentation: ug +tags: [SuggestionBox, ComboBox, Xamarin.Android, Syncfusion, SfComboBox, Dropdown-Placement, UI-Layout, Positioning, Mobile-Controls, User-Interface] --- -# Dealing with suggestion box -In the combobox control, the DropDown Box can placed in the following two positions: +# Suggestion Box Placement -* Bottom +The Syncfusion SfComboBox control provides flexible positioning options for the suggestion box (dropdown) to ensure optimal user experience across different screen layouts and orientations. The suggestion box can be positioned in two locations relative to the ComboBox control: -* Top +* **Bottom** - Displays below the ComboBox (default behavior) +* **Top** - Displays above the ComboBox -Using the `SuggestionBoxPlacement` property, you can place the suggestion box at the top or bottom. +The `SuggestionBoxPlacement` property allows you to explicitly control where the suggestion box appears, ensuring it remains visible and accessible. -## SuggestionBox placement at bottom +## Bottom Placement -Displays the suggestion box at the bottom of the combo box control. - +Bottom placement displays the suggestion box below the ComboBox control. This is the default behavior. {% tabs %} {% highlight c# %} @@ -28,12 +28,11 @@ combobox.SuggestionBoxPlacement = SuggestionBoxPlacement.Bottom; {% endhighlight %} {% endtabs %} -![](images/bottom.png) +![Suggestion box positioned at bottom](images/bottom.png) -## SuggestionBox placement at top +## Top Placement -Displays the suggestion box at the top of the combo box control. - +Top placement displays the suggestion box above the ComboBox control. {% tabs %} {% highlight c# %} @@ -42,4 +41,4 @@ combobox.SuggestionBoxPlacement = SuggestionBoxPlacement.Top; {% endhighlight %} {% endtabs %} -![](images/top.png) \ No newline at end of file +![](images/top.png) diff --git a/xamarin-android/SfComboBox/Filtering-Option.md b/xamarin-android/SfComboBox/Filtering-Option.md index cab274d8..8889b088 100644 --- a/xamarin-android/SfComboBox/Filtering-Option.md +++ b/xamarin-android/SfComboBox/Filtering-Option.md @@ -1,17 +1,18 @@ --- -layout : post -title : Filtering in Syncfusion® SfComboBox control for Xamarin.Android -description : Learn how to filter the text in SfComboBox -platform : Xamarin.Android -control : ComboBox -documentation : ug +layout: post +title: Filtering Options in Syncfusion® SfComboBox control for Xamarin.Android +description: Learn how to enable and configure text filtering in the SfComboBox dropdown list for enhanced user experience +platform: Xamarin.Android +control: SfComboBox +documentation: ug +tags: [filtering, combobox, xamarin-android, syncfusion, dropdown, search, editable, user-input] --- -# Filtering Option +# Filtering Options -The combo box control provides an option to filter the dropdown list based on the text typed. You can set filter option by setting the `AllowFiltering` boolean property to true. +The SfComboBox control provides filtering functionality that allows users to filter the dropdown list based on the text they type. You can enable this feature by setting the `AllowFiltering` boolean property to `true`. -N> The Allow-Filtering property works only when the IsEditableMode property is set to true. +N> The AllowFiltering property works only when the IsEditableMode property is set to true. {% tabs %} @@ -25,4 +26,4 @@ combobox.AllowFiltering = true; {% endtabs %} -![](images/filtering.png) \ No newline at end of file +![SfComboBox filtering demonstration](images/filtering.png) diff --git a/xamarin-android/SfComboBox/Getting-Started.md b/xamarin-android/SfComboBox/Getting-Started.md index 03339e43..1e4b8146 100644 --- a/xamarin-android/SfComboBox/Getting-Started.md +++ b/xamarin-android/SfComboBox/Getting-Started.md @@ -1,23 +1,27 @@ --- layout: post -title: Getting Started with Syncfusion® ComboBox Control for Xamarin.Android -description: Learn here about getting started with Syncfusion® Essential® Xamarin.Android ComboBox Control, its elements, and more. +title: Getting Started with Syncfusion® SfComboBox Control for Xamarin.Android +description: A comprehensive guide to implementing the Syncfusion SfComboBox control in Xamarin.Android applications, including setup, data population, and configuration options. platform: Xamarin.Android control: SfComboBox documentation: ug --- -# Getting started with Xamarin.Android ComboBox +# Getting Started with Xamarin.Android SfComboBox -This section explains the steps required to create combo box, populate it with data, and filter suggestions.Here we create a simple sample for changing the resolution and this section covers only the minimal features that are needed to get started with the ComboBox. +## Prerequisites -## Referencing Essential Studio® components in your solution +Before getting started, ensure you have: +- Xamarin.Android development environment set up +- Syncfusion Essential Studio® for Xamarin installed +- Basic knowledge of Xamarin.Android development -After installing Essential Studio® for Xamarin,find all the required assemblies in the installation folders, +## Referencing Essential Studio® Components +After installing Essential Studio® for Xamarin, you can find all the required assemblies in the installation folders: {Syncfusion Installed location}\Essential Studio\12.4.0.24\lib -Add the following assembly references to the Android project, +Add the following assembly references to the Android project: android\Syncfusion.SfComboBox.Android.dll diff --git a/xamarin-android/SfComboBox/Header-and-Footer.md b/xamarin-android/SfComboBox/Header-and-Footer.md index 52156d19..40f86734 100644 --- a/xamarin-android/SfComboBox/Header-and-Footer.md +++ b/xamarin-android/SfComboBox/Header-and-Footer.md @@ -1,21 +1,30 @@ --- -layout : post -title : Header and Footer in Syncfusion® SfComboBox control for Xamarin.Android -description : Learn how to enable Header and Footer in SfComboBox -platform : Xamarin.Android -control : SfComboBox -documentation : ug +layout: post +title: Header and Footer Views in Syncfusion® SfComboBox control for Xamarin.Android +description: Learn how to add and customize header and footer views in the SfComboBox dropdown list to enhance user experience and provide additional functionality. +platform: Xamarin.Android +control: SfComboBox +documentation: ug +tags: [header-footer, dropdown-customization, xamarin-android, sfcombobox, syncfusion, ui-customization, views, dropdown-views] --- -## Header and footer +# Header and Footer Views -You can add header and footer view to the suggestion list in the combo box by enabling the `ShowDropDownHeaderView` and `ShowDropDownFooterView` properties. +The SfComboBox control allows you to add custom header and footer views to the dropdown list, providing additional functionality and improved user experience. These views can display contextual information, search hints, action buttons, or any custom content that enhances the dropdown interface. -## Header content +## Overview +You can add header and footer views to the dropdown list in the SfComboBox by enabling the `ShowDropDownHeaderView` and `ShowDropDownFooterView` properties. This feature is particularly useful for: -The header content can be added at the top of the combo box’s Suggestion box. The `DropDownHeaderView` property is used to set the content of the header. The height of the header in the combo box can be adjusted using the `DropDownHeaderViewHeight` property. +- Displaying search context or instructions +- Adding action buttons (like "Add New Item") +- Showing category information +- Providing additional navigation options +## Header Content -The following code example illustrate how to set Header content in SfComboBox. +The header content appears at the top of the SfComboBox dropdown list. Use the `DropDownHeaderView` property to set the header content, and adjust its height using the `DropDownHeaderViewHeight` property. + +### Implementation +The following code example illustrates how to set header content in the SfComboBox: {% tabs %} @@ -44,13 +53,13 @@ comboBox.TextChanged += (object sender, TextChangedEventArgs e) => {% endtabs %} -![](images/Header.png) - -## Footer content +![SfComboBox with custom header view displaying search context](images/Header.png) +## Footer Content -The footer content can be added at the bottom of the combo box’s suggestion box. `The DropDownFooterView` property is used to set the content of the footer. The height of the footer in the combo box can be adjusted using the `DropDownFooterViewHeight` property. +The footer content appears at the bottom of the SfComboBox dropdown list. Use the `DropDownFooterView` property to set the footer content, and adjust its height using the `DropDownFooterViewHeight` property. -The following code example illustrate how to set Footer content in SfComboBox. +### Implementation +The following code example illustrates how to set footer content in the SfComboBox: {% tabs %} @@ -75,8 +84,4 @@ comboBox.DropDownFooterView = footerView; {% endtabs %} -![](images/Footer.png) - - - - \ No newline at end of file +![SfComboBox with custom footer view showing "Add New" action](images/Footer.png) diff --git a/xamarin-android/SfComboBox/Multiple-selection.md b/xamarin-android/SfComboBox/Multiple-selection.md index 69e5524d..a277b5e4 100644 --- a/xamarin-android/SfComboBox/Multiple-selection.md +++ b/xamarin-android/SfComboBox/Multiple-selection.md @@ -7,7 +7,7 @@ control: SfComboBox documentation: ug --- -# Multiple selection in Xamarin.Android SfComboBox +# Multiple Selection in Xamarin.Android SfComboBox Select multiple items from a suggestion list. In the combo box, you can perform multi selection in the following two ways: @@ -31,14 +31,14 @@ comboBox.IsSelectedItemsVisibleInDropDown = false; {% endtabs %} -### Wrap mode of token +### Token Wrap Modes -The selected item can be displayed as token inside the combo box in two ways. They are, +The `TokensWrapMode` property controls how tokens are arranged within the SfComboBox: -* `Wrap` - When `TokensWrapMode` is set to `Wrap` ,the selected items will be wrapped to the next line of the SfComboBox. - -* `None` - When `TokensWrapMode` is set to `None`, the selected item will be wrapped in horizontal orientation. +- **`Wrap`**: Selected items wrap to the next line when the available width is exceeded +- **`None`**: Selected items are arranged horizontally in a single line with horizontal scrolling +### Data Binding Example {% tabs %} {% highlight C# %} @@ -105,9 +105,9 @@ comboBox.ImageMemberPath = "Image"; {% endtabs %} -![Xamarin.Android SfComboBox Token Representation Wrap](images/TokenRepresentationWrap.png) +![SfComboBox with token representation and wrap mode enabled](images/TokenRepresentationWrap.png) -### Token customization +### Token Customization Token can be customized in the following ways: @@ -144,9 +144,9 @@ comboBox.TokenSettings = token; {% endtabs %} -![Xamarin.Android SfComboBox Token Customization](images/TokenCustomization.png) +![SfComboBox with customized token appearance](images/TokenCustomization.png) -## Delimiter +## Delimiter Mode When selecting the multiple items, the selected items can be divided with a desired character given for delimiter. The delimiter character can be set using the `Delimiter` property. @@ -161,7 +161,7 @@ comboBox.MultiSelectMode = MultiSelectMode.Delimiter; {% endtabs %} -![Xamarin.Android SfComboBox default delimiter](images/defaultdelimiter.png) +![SfComboBox with default comma delimiter](images/defaultdelimiter.png) We can add the custom delimiter character by `Delimiter` property. @@ -175,7 +175,8 @@ comboBox.Delimiter = '#'; {% endtabs %} -![Xamarin.Android SfComboBox delimiter](images/delimiter.png) +![SfComboBox with custom hash delimiter](images/delimiter.png) + diff --git a/xamarin-android/SfComboBox/No-Result-Found.md b/xamarin-android/SfComboBox/No-Result-Found.md index a6735221..745c6903 100644 --- a/xamarin-android/SfComboBox/No-Result-Found.md +++ b/xamarin-android/SfComboBox/No-Result-Found.md @@ -1,15 +1,15 @@ --- -layout : post -title : No Result Found Text in Syncfusion® SfComboBox control for Xamarin.Android -description : Learn how to display the no result found text in SfComboBox -platform : Xamarin.Android -control : SfComboBox -documentation : ug +layout: post +title: No Result Found Text in Syncfusion® SfComboBox control for Xamarin.Android +description: Learn how to display and customize the no result found text in SfComboBox when search queries return no matches +platform: Xamarin.Android +control: SfComboBox +documentation: ug --- # No Results Found -When the entered item is not in the suggestion list, SfComboBox displays a text indicating there is no search results found. We can set the desire text to be displayed for indicating no results found with the `NoResultsFoundText` property. +When the entered item is not in the suggestion list, SfComboBox displays text indicating that no search results are found. You can set the desired text to be displayed for indicating no results found using the `NoResultsFoundText` property. {% tabs %} @@ -25,7 +25,8 @@ comboBox.NoResultsFoundText="No Results Found"; ## Customizing NoResultsFoundText -The `NoResultsFoundTextColor`, `NoResultsFoundFontSize` and `NoResultsFoundTypeface` properties are used to customize the foreground color, font size and typeface of NoResultsFoundText. +The `NoResultsFoundTextColor`, `NoResultsFoundFontSize`, and `NoResultsFoundTypeface` properties are used to customize the foreground color, font size, and typeface of the NoResultsFoundText. + {% tabs %} {% highlight c# %} diff --git a/xamarin-android/SfComboBox/Overview.md b/xamarin-android/SfComboBox/Overview.md index 23df7bc2..98b356dc 100644 --- a/xamarin-android/SfComboBox/Overview.md +++ b/xamarin-android/SfComboBox/Overview.md @@ -1,35 +1,32 @@ --- -layout : post -title : Overview of Syncfusion® ComboBox control for Xamarin.Android -description : Overview and key features of SfComboBox control -platform : Xamarin.Android -control : SfComboBox -documentation : ug +layout: post +title: Overview of Syncfusion® ComboBox control for Xamarin.Android +description: Comprehensive overview and key features of the SfComboBox control including data binding, filtering, customization, and multi-selection capabilities +platform: Xamarin.Android +control: SfComboBox +documentation: ug --- # Overview -The combo box is a text box component that allows users to type a value or choose an option from the list of predefined options. This has several out-of-the-box features such as data binding, filtering, and UI customization. +The SfComboBox is a text box component that allows users to type a value or choose an option from a list of predefined options. It provides several out-of-the-box features such as data binding, filtering, and UI customization. -![](images/overview.png) +![SfComboBox Overview](images/overview.png) -## Key features +## Key Features -* `Editable mode` – Supports both the editable and non-editable text boxes to choose selected item from given data source. +* **Editable Mode** – Supports both editable and non-editable text boxes to choose a selected item from the given data source. -* `Filtering mode` – Provides options to support both filtering and non-filtering suggestion lists. Combo box provides 3 different ways to display the filtered suggestions. They display suggestion through a drop-down list, append the first suggestion to text, and append suggestion to both of these. +* **Filtering Mode** – Provides options to support both filtering and non-filtering suggestion lists. The ComboBox offers three different ways to display filtered suggestions: through a drop-down list, by appending the first suggestion to the text, or by combining both approaches. -* `Suggestion modes` – Suggestions can be filtered in different modes, such as StartsWith, EndWith, Contains, Equals, Custom, etc. The combo box provides both case sensitive and insensitive modes. The items can be filtered only when the Allow Filtering property has enabled. +* **Suggestion Modes** – Suggestions can be filtered using different modes such as StartsWith, EndsWith, Contains, Equals, and Custom. The ComboBox supports both case-sensitive and case-insensitive filtering. Items can be filtered only when the AllowFiltering property is enabled. -* `MultiSelection` – Provides two different ways to select multiple items from the suggestion list using Token representation and Delimiter. In Token mode, the text can be wrapped in two ways: Wrap and None. In Wrap mode, text will be wrapped to next line. When using None, the text will be wrapped horizontally. +* **Multi-Selection** – Provides two different ways to select multiple items from the suggestion list using Token representation and Delimiter. In Token mode, text can be wrapped in two ways: Wrap and None. In Wrap mode, text wraps to the next line, while in None mode, text wraps horizontally. -* `Customization Support` – Provides options to customize both the Entry and Suggestion drop-down. - -* `Header and Footer` – Header and Footer content can be given in the top and bottom of the suggestion list in the combo box. - -* `Highlighting Text` – Highlights the matching text in the suggestion list based on the input given. - -* `Watermark` – Supports explanatory text inside the combo box control until users input the text. Watermark is restored again if user clear the text. +* **Customization Support** – Provides options to customize both the Entry and Suggestion drop-down components. +* **Header and Footer** – Allows you to add header and footer content at the top and bottom of the suggestion list in the ComboBox. +* **Text Highlighting** – Highlights matching text in the suggestion list based on the user's input. +* **Watermark** – Displays explanatory text inside the ComboBox control until the user inputs text. The watermark is restored if the user clears the text. diff --git a/xamarin-android/SfComboBox/Populating-Items.md b/xamarin-android/SfComboBox/Populating-Items.md index 188bd1a2..cd665bcc 100644 --- a/xamarin-android/SfComboBox/Populating-Items.md +++ b/xamarin-android/SfComboBox/Populating-Items.md @@ -1,21 +1,21 @@ --- layout: post title: DataSource mode in Syncfusion® ComboBox control for Xamarin.Android -description: Learn here about populating items in Syncfusion Essential® Xamarin.Android ComboBox Control, its elements, and more. +description: Learn how to populate items in the Syncfusion Xamarin.Android ComboBox Control with string data and business objects, including DataSource configuration and DisplayMemberPath usage. platform: Xamarin.Android control: SfComboBox documentation: ug --- -# Populating items in Xamarin.Android ComboBox +# Populating Items in Xamarin.Android ComboBox -* The combo box control can be populated with a list of string or business objects, which assist users when typing. Users can choose an item from the filtered suggestion list. +The SfComboBox control can be populated with a list of strings or business objects, which assist users when typing. Users can choose an item from the filtered suggestion list. -* The `DataSource` property is used to populate data in the SfComboBox control. This section explains how to populate the combo box with list of string and list of employee details separately. +The `DataSource` property is used to populate data in the SfComboBox control. This section explains how to populate the ComboBox with a list of strings and a list of employee details separately. -## Populating string data +## Populating String Data -Create an instance of the string list, and populate items as shown below. +Create an instance of the string list and populate items as shown below. {% tabs %} @@ -33,15 +33,15 @@ comboBox.ComboBoxMode= ComboBoxMode.Suggest; {% endtabs %} -![Xamarin.Android ComboBox Populating business objects](images/populatestringdata.png) +![Xamarin.Android ComboBox populated with string data](images/populatestringdata.png) -## Populating business objects +## Populating Business Objects -Apart from string data, the SfComboBox can deal with business object data also. Now, create Model and ViewModel classes to populate the combo box with employee details. +Apart from string data, the SfComboBox can also work with business object data. The following example demonstrates how to create Model and ViewModel classes to populate the ComboBox with employee details. -### Create and initialize business models +### Create and Initialize Business Models -Define a simple model class “Employee” with fields ID, and name. Then, populate employee data in ViewModel. +Define a simple model class "Employee" with fields ID and Name. Then, populate employee data in the ViewModel. {% tabs %} @@ -101,17 +101,17 @@ employeeCollection.Add(new Employee() { ID = 9, Name = "Howard" }); ### Setting DisplayMemberPath -The control is populated with list of employees. But, the Employee model contains two properties: ID and Name. So, you should intimate by which property it should filter suggestions. The `DisplayMemberPath` property specifies the property path with which filtering is done on business objects.In this case, make the control to provide suggestions based on Name. +The control is populated with a list of employees. However, the Employee model contains two properties: ID and Name. You need to specify which property should be used for filtering suggestions. The `DisplayMemberPath` property specifies the property path used for filtering on business objects. In this case, configure the control to provide suggestions based on the Name property. {% tabs %} {% highlight C# %} -//To display the Name, set the DisplayMemberPath +// To display the Name, set the DisplayMemberPath comboBox.DisplayMemberPath = "Name"; -//Add the data source +// Add the data source comboBox.DataSource = new EmployeeViewModel().EmployeeCollection; {% endhighlight %} {% endtabs %} -![Xamarin.Android ComboBox populate business](images/populatebusiness.png) +![Xamarin.Android ComboBox populated with business objects](images/populatebusiness.png) diff --git a/xamarin-android/SfComboBox/Suggestion-Display-Mode.md b/xamarin-android/SfComboBox/Suggestion-Display-Mode.md index bb5724be..3e07edcc 100644 --- a/xamarin-android/SfComboBox/Suggestion-Display-Mode.md +++ b/xamarin-android/SfComboBox/Suggestion-Display-Mode.md @@ -1,28 +1,25 @@ --- -layout : post -title : ComboBoxMode mode for Syncfusion® ComboBox control in Xamarin.Android -description : Learn how to change the ComboBoxMode in SfComboBox -platform : Xamarin.Android -control : SfComboBox -documentation : ug +layout: post +title: ComboBoxMode for Syncfusion® ComboBox control in Xamarin.Android +description: Learn how to configure the ComboBoxMode property in SfComboBox to control suggestion display patterns +platform: Xamarin.Android +control: SfComboBox +documentation: ug --- -# Suggestion display mode - -The `ComboBoxMode` property is used to decide the suggestion pattern for displaying the filtered data according to the text entered. The different types of patterns are, described below +# Suggestion Display Mode +The `ComboBoxMode` property determines how filtered suggestions are displayed based on the text entered by the user. The available display modes are described below: * Suggest * Append +* SuggestAppend -* Suggest and Append - -N> The default option is suggest mode. - -## Suggest in drop-down +N> The default mode is Suggest. -* Suggest - Displays suggestions in the drop-down. +## Suggest Mode +The Suggest mode displays filtered suggestions in a drop-down list below the ComboBox. {% tabs %} {% highlight C# %} @@ -33,10 +30,9 @@ comboBox.ComboBoxMode = ComboBoxMode.Suggest; {% endtabs %} -## Append - -* Append - Appends the first matching string with the entered character. +## Append Mode +The Append mode automatically appends the first matching string to the entered text, allowing users to see potential completions inline. {% tabs %} {% highlight C# %} @@ -47,10 +43,9 @@ comboBox.ComboBoxMode = ComboBoxMode.Append; {% endtabs %} -## Both append and suggest in drop-down - -* SuggestAppend - Displays the suggestion in the drop-down along with appending the first matching string. +## SuggestAppend Mode +The SuggestAppend mode combines both approaches by displaying suggestions in a drop-down list while simultaneously appending the first matching string to the entered text. {% tabs %} {% highlight C# %} @@ -61,5 +56,4 @@ comboBox.ComboBoxMode = ComboBoxMode.SuggestAppend; {% endtabs %} -![](images/comboboxmode.png) - +![ComboBox modes demonstration](images/comboboxmode.png) diff --git a/xamarin-android/SfComboBox/Various-Filter-Options-for-Suggestion.md b/xamarin-android/SfComboBox/Various-Filter-Options-for-Suggestion.md index d77a89e4..2a79e951 100644 --- a/xamarin-android/SfComboBox/Various-Filter-Options-for-Suggestion.md +++ b/xamarin-android/SfComboBox/Various-Filter-Options-for-Suggestion.md @@ -1,15 +1,15 @@ --- -layout : post -title : Suggestion mode for Syncfusion® ComboBox Control in Xamarin.Android -description : Learn how to display suggestion mode in SfComboBox -platform : Xamarin.Android -control : SfComboBox -documentation : ug +layout: post +title: Suggestion mode for Syncfusion® ComboBox Control in Xamarin.Android +description: Learn how to configure various filtering modes and suggestion display options in SfComboBox +platform: Xamarin.Android +control: SfComboBox +documentation: ug --- -# Various filter options for suggestion +# Various Filter Options for Suggestions -The combo box enables filer option for filtering the suggestions in drop-down. +The SfComboBox provides filtering options to filter suggestions in the dropdown list. {% tabs %} @@ -20,32 +20,24 @@ comboBox.IsEditableMode = true; {% endtabs %} -## Types Of filtering +## Types of Filtering -The phenomenon of string comparison for filtering suggestions can be changed using the `SuggestionMode `property. The default filtering strategy is `StartsWith`, and it is case insensitive. The available filtering modes are, +String comparison for filtering suggestions can be configured using the `SuggestionMode` property. The default filtering strategy is `StartsWith`, and it is case insensitive. The available filtering modes are: -* StartsWith +* StartsWith +* StartsWithCaseSensitive +* Contains +* ContainsWithCaseSensitive +* Equals +* EqualsWithCaseSensitive +* EndsWith +* EndsWithCaseSensitive +* Custom -* StartsWithCaseSensitive - -* Contains - -* ContainsWithCaseSensitive - -* Equals - -* EqualsWithCaseSensitive - -* EndsWith - -* EndsWithCaseSensitive - -* Custom - -## Words that starts with input text - -Displays the list of suggestions based on the starting letter. +## StartsWith Mode +### Words that Start with Input Text +Displays suggestions based on items that begin with the entered characters. {% tabs %} {% highlight C# %} @@ -56,12 +48,11 @@ Displays the list of suggestions based on the starting letter. {% endtabs %} -![](images/startswith.png) - -### Filter with character casing +![StartsWith filtering mode](images/startswith.png) -Displays the list of suggestions based on the starting letter with case sensitive. +### Case-Sensitive StartsWith +Displays suggestions based on items that begin with the entered characters, with case-sensitive matching. {% tabs %} {% highlight C# %} @@ -72,12 +63,12 @@ Displays the list of suggestions based on the starting letter with case sensitiv {% endtabs %} -![](images/startswithcasesensitive.png) +![StartsWith case-sensitive filtering mode](images/startswithcasesensitive.png) -## Words that contain the input text - -Displays the list of suggestions if the combo box list contains that words. +## Contains Mode +### Words that Contain the Input Text +Displays suggestions for items that contain the entered text anywhere within the string. {% tabs %} {% highlight C# %} @@ -88,12 +79,11 @@ Displays the list of suggestions if the combo box list contains that words. {% endtabs %} -![](images/contains.png) - -### Filter with character casing +![Contains filtering mode](images/contains.png) -Displays the list of suggestions if the combo box list contains that words with case sensitive. +### Case-Sensitive Contains +Displays suggestions for items that contain the entered text with case-sensitive matching. {% tabs %} {% highlight C# %} @@ -104,12 +94,12 @@ Displays the list of suggestions if the combo box list contains that words with {% endtabs %} -![](images/containswithcasesensitive.png) - -## Words that equals to input text +![Contains case-sensitive filtering mode](images/containswithcasesensitive.png) -Displays the word that matches. +## Equals Mode +### Words that Equal the Input Text +Displays suggestions for items that exactly match the entered text. {% tabs %} {% highlight C# %} @@ -120,12 +110,11 @@ Displays the word that matches. {% endtabs %} -![](images/equals.png) +![Equals filtering mode](images/equals.png) -### Filter with character casing - -Displays the word that matches with case sensitive. +### Case-Sensitive Equals +Displays suggestions for items that exactly match the entered text with case-sensitive comparison. {% tabs %} {% highlight C# %} @@ -136,12 +125,12 @@ Displays the word that matches with case sensitive. {% endtabs %} -![](images/equalswithcasesensitive.png) - -## Words that ends with input text +![Equals case-sensitive filtering mode](images/equalswithcasesensitive.png) -Displays the list of suggestions based on the ending word. +## EndsWith Mode +### Words that End with Input Text +Displays suggestions based on items that end with the entered characters. {% tabs %} {% highlight C# %} @@ -152,12 +141,11 @@ Displays the list of suggestions based on the ending word. {% endtabs %} -![](images/endswith.png) +![EndsWith filtering mode](images/endswith.png) -### Filter with character casing - -Displays the list of suggestions based on the ending word with case sensitive. +### Case-Sensitive EndsWith +Displays suggestions based on items that end with the entered characters, with case-sensitive matching. {% tabs %} {% highlight C# %} @@ -168,12 +156,11 @@ comboBox.SuggestionMode = SuggestionMode.EndsWithCaseSensitive; {% endtabs %} -![](images/endswithcasesensitive.png) - +![EndsWith case-sensitive filtering mode](images/endswithcasesensitive.png) -### Custom filter +## Custom Filter Mode -Displays the list of suggestions based on the custom words in the combo box. +The Custom mode allows you to implement custom filtering logic by handling the filtering events or providing custom filter predicates. {% tabs %} {% highlight C# %} @@ -184,7 +171,4 @@ comboBox.SuggestionMode = SuggestionMode.Custom; {% endtabs %} -![](images/customfilter.png) - - - +![Custom filtering mode](images/customfilter.png) diff --git a/xamarin-android/SfComboBox/highlighting-matched-text.md b/xamarin-android/SfComboBox/highlighting-matched-text.md index f990ca24..2f014d4d 100644 --- a/xamarin-android/SfComboBox/highlighting-matched-text.md +++ b/xamarin-android/SfComboBox/highlighting-matched-text.md @@ -1,10 +1,10 @@ --- -layout : post -title : MatchHighlighting in Syncfusion® SfComboBox control for Xamarin.Android -description : Learn how to highlight the matched text in SfComboBox -platform : Xamarin.Android -control : SfComboBox -documentation : ug +layout: post +title: Text Highlighting in Syncfusion® SfComboBox control for Xamarin.Android +description: Learn how to highlight matching text in the SfComboBox dropdown list to improve user experience and make item selection more intuitive with customizable highlighting options. +platform: Xamarin.Android +control: SfComboBox +documentation: ug --- # Highlighting matched text @@ -41,15 +41,11 @@ comboBox.HighlightedTextFontTypeFace = TypefaceStyle.Bold; {% endtabs %} -N> The default Color of HighlightedTextColor is Red. - The default FontTypeFace of HighlightedTextFontTypeFace is None. - -![](images/FirstOccurrence.png) - -## Multiple Occurrence +![SfComboBox with first occurrence text highlighting](images/FirstOccurrence.png) -Highlights the matching character that occurs everywhere in the suggestion list for Contains case in SuggestionMode. +## Multiple Occurrence Highlighting +This mode highlights all occurrences of matching characters throughout each item in the dropdown list. It works particularly well with the `Contains` suggestion mode to provide comprehensive text matching. {% tabs %} {% highlight C# %} @@ -65,7 +61,5 @@ comboBox.SuggestionMode = SuggestionMode.Contains; {% endtabs %} -![](images/MultipleOccurrence.png) - - +![SfComboBox with multiple occurrence text highlighting](images/MultipleOccurrence.png) diff --git a/xamarin-android/SfNavigationDrawer/Drawer-Content.md b/xamarin-android/SfNavigationDrawer/Drawer-Content.md index c166a4cb..fd5598d0 100644 --- a/xamarin-android/SfNavigationDrawer/Drawer-Content.md +++ b/xamarin-android/SfNavigationDrawer/Drawer-Content.md @@ -1,7 +1,7 @@ --- layout: post -title: Various features of Syncfusion® NavigationDrawer control for Android. -description: Learn how to set content view, drawer content view, footer view, header view, drawer size in NavigationDrawer. +title: Various features of Syncfusion® NavigationDrawer control for Android +description: Learn how to configure content view, drawer content view, footer view, header view, drawer size, and multiple drawer settings in NavigationDrawer. platform: Xamarin.Android control: NavigationDrawer documentation: ug @@ -9,18 +9,16 @@ documentation: ug # Sliding Panel Contents -The sliding panel contents are divided into three parts and they are as follows - +The sliding panel contents in SfNavigationDrawer are organized into three distinct sections: * [Drawer Content](#drawer-main-content) * [Header Content](#drawer-header-content) * [Footer Content](#drawer-footer-content) -The header and footer contents are optional and Drawer content is the mandatory one which is due to the maximum space allocated for Drawer content view. +The header and footer contents are optional, while the drawer content is mandatory as it occupies the primary space within the drawer panel. ## Drawer Main Content -The sliding main content of the SfNavigationDrawer which is a part of DrawerPanel can be set using `DrawerContentView` property with desired views. - +The main content of the SfNavigationDrawer sliding panel can be configured using the `DrawerContentView` property. This property accepts any desired view to be displayed as the primary drawer content. {% tabs %} {% highlight c# %} @@ -106,12 +104,11 @@ namespace navigationDrawerSample {% endtabs %} -![DrawerContentView](images/DrawerContentView.png) +![NavigationDrawer with custom drawer content](images/DrawerContentView.png) ## Drawer Header Content -Gets or sets the header of the DrawerView panel in the SfNavigationDrawer control using `DrawerHeaderView` property. - +The header section of the drawer panel can be configured using the `DrawerHeaderView` property. This allows you to display user information, branding, or navigation elements at the top of the drawer. {% tabs %} {% highlight c# %} @@ -151,12 +148,11 @@ namespace navigationDrawerSample {% endtabs %} -![DrawerHeaderView](images/DrawerHeaderView.png) +![NavigationDrawer with header content](images/DrawerHeaderView.png) ## Drawer Footer Content -Gets or sets the footer for the DrawerView panel in the SfNavigationDrawer control using `DrawerFooterView` property. - +The footer section of the drawer panel can be configured using the `DrawerFooterView` property. This is typically used for additional actions, settings, or supplementary information. {% tabs %} {% highlight c# %} @@ -193,12 +189,11 @@ namespace navigationDrawerSample {% endtabs %} -![DrawerFooterView](images/DrawerFooterView.png) +![NavigationDrawer with footer content](images/DrawerFooterView.png) ## Drawer Size -Gets or sets the height and width of the DrawerView panel in the SfNavigationDrawer control using `DrawerHeight` and `DrawerWidth` properties. - +You can customize the dimensions of the drawer panel using the `DrawerHeight` and `DrawerWidth` properties to control the drawer's appearance and space utilization. {% tabs %} {% highlight c# %} @@ -210,18 +205,17 @@ navigationDrawer.DrawerWidth = (float)(200); {% endtabs %} -## Multiple drawers +## Multiple Drawers -The Navigation Drawer allows users to open the drawer on multiple sides with different toggle methods. The DrawerSettings class and its properties need to be used where users need to provide multiple drawers. The multiple drawers can be implemented using the following drawer settings: +The SfNavigationDrawer supports multiple drawers that can be opened from different sides of the screen. This functionality is implemented using the `DrawerSettings` class, which provides two types of drawer configurations: * Default drawer settings * Secondary drawer settings -N> The header and footer content are optional, but the drawer content is mandatory to allocate space for the drawer. +N> While header and footer content are optional, drawer content is mandatory to properly allocate space for the drawer functionality. -## Default drawer settings - -Implement the default drawer using the default drawer settings class. The following code sample demonstrates how to set the properties of default drawer settings inside the DrawerSettings class. +## Default Drawer Settings +The default drawer can be configured using the `DefaultDrawerSettings` property with a `DrawerSettings` instance. The following example demonstrates how to configure the default drawer properties: {% tabs %} {% highlight c# %} @@ -240,12 +234,10 @@ navigationDrawer.DefaultDrawerSettings = defaultDrawerSettings; {% endtabs %} -N> The Navigation Drawer works with the value given for the properties inside the DrawerSettings class when using the default drawer settings. - -### Header view of the default drawer - -The header content can be provided to the default drawer using the `DrawerHeaderView` property inside the DrawerSettings class of DefaultDrawerSettings. The following code sample demonstrates how to set header content to the default drawer. +N> When using default drawer settings, the NavigationDrawer will use the property values defined within the DrawerSettings class. +### Header View of the Default Drawer +Configure the header content for the default drawer using the `DrawerHeaderView` property within the `DrawerSettings` class: {% tabs %} {% highlight c# %} @@ -266,7 +258,7 @@ defaultDrawerSettings.DrawerHeaderView = headerLayout; {% endtabs %} -### Content view of the default drawer +### Content View of the Default Drawer The drawer content can be provided to the default drawer using the `DrawerContentView` property inside the DrawerSettings class. The following code sample demonstrates how to set drawer content to the default drawer. @@ -298,10 +290,9 @@ SetContentView(navigationDrawer); {% endtabs %} -### Footer view of the default drawer - -The footer content can be provided to the default drawer using the `DrawerFooterView` property inside the DrawerSettings class of DefaultDrawerSettings. The following code sample demonstrates how to set footer content to the default drawer. +### Footer View of the Default Drawer +Configure the footer content for the default drawer using the `DrawerFooterView` property within the `DrawerSettings` class: {% tabs %} {% highlight c# %} @@ -322,10 +313,9 @@ defaultDrawerSettings.DrawerFooterView = footerLayout; {% endtabs %} -## Secondary drawer settings - -Implement the secondary drawer using the secondary drawer settings class. Its properties and functionalities are same as the default drawer. The secondary drawer can be set to different positions similar to the default drawer. The following code sample demonstrates how to set the properties of secondary drawer settings inside the DrawerSettings class. +## Secondary Drawer Settings +The secondary drawer provides the same functionality as the default drawer but can be positioned differently. Configure it using the `SecondaryDrawerSettings` property: {% tabs %} {% highlight c# %} @@ -345,9 +335,9 @@ navigationDrawer.SecondaryDrawerSettings = secondaryDrawerSettings; {% endtabs %} -N> When the default drawer and the secondary drawer are set to the same position, the default drawer will open on swiping. +N> When both default and secondary drawers are positioned on the same side, the default drawer will take precedence during swipe gestures. -### Header view of the secondary drawer +### Header View of the Secondary Drawer The header content can be provided to the secondary drawer using the `DrawerHeaderView` property inside the DrawerSettings class of SecondaryDrawerSettings. The following code sample demonstrates how to set the header content to the secondary drawer. @@ -371,7 +361,7 @@ secondaryDrawerSettings.DrawerHeaderView = headerLayout; {% endtabs %} -### Content view of the secondary drawer +### Content View of the Secondary Drawer The drawer content can be provided to the secondary drawer using the `DrawerContentView` property inside the DrawerSettings class of SecondaryDrawerSettings. The following code sample demonstrates how to set the drawer content to the secondary drawer. @@ -403,7 +393,7 @@ SetContentView(navigationDrawer); {% endtabs %} -### Footer view of secondary drawer +### Footer View of the Secondary Drawer The footer content can be provided to the secondary drawer using the `DrawerFooterView` property inside the DrawerSettings class of SecondaryDrawerSettings. The following code sample demonstrates how to set footer content to the secondary drawer. @@ -427,7 +417,7 @@ secondaryDrawerSettings.DrawerFooterView = footerLayout; {% endtabs %} -## Toggling method +## Toggling Methods Users can toggle the secondary drawer using the `ToggleSecondaryDrawer` method. diff --git a/xamarin-android/SfNavigationDrawer/Main-Content.md b/xamarin-android/SfNavigationDrawer/Main-Content.md index 2ff3c8d5..3b87bb87 100644 --- a/xamarin-android/SfNavigationDrawer/Main-Content.md +++ b/xamarin-android/SfNavigationDrawer/Main-Content.md @@ -1,7 +1,7 @@ --- layout: post title: Various features of Syncfusion® NavigationDrawer control for Xamarin.Android -description: Learn how to set content view, drawer content view, footer view, header view, drawer size in NavigationDrawer. +description: Learn how to configure the main content view in NavigationDrawer, including setup, customization, and best practices for content management. platform: Xamarin.Android control: NavigationDrawer documentation: ug @@ -9,12 +9,14 @@ documentation: ug # Setting Main Content -The SfNavigationDrawer is mainly divided into two parts, such as [Main Content](#main-content) and [Drawer Panel Content](/xamarin-android/SfNavigationDrawer/Drawer-Content "Sliding Panel Content") - +The SfNavigationDrawer consists of two primary components: the [Main Content](#main-content) area and the [Drawer Panel Content](/xamarin-android/SfNavigationDrawer/Drawer-Content "Sliding Panel Content"). This document focuses on configuring the main content area, which serves as the primary interface that users interact with when the drawer is closed. ## Main Content -The main view of the SfNavigationDrawer can be set using `ContentView` property with desired views. +The main content area displays your application's primary interface and can be configured using the `ContentView` property. This property accepts any Android view or layout that you want to display as the main content. + +### Basic Implementation +The following example demonstrates how to set up a basic main content area with an image view: {% tabs %} {% highlight c# %} @@ -46,5 +48,5 @@ namespace navigationDrawerSample {% endtabs %} -![](images/Content-View.png) +![NavigationDrawer main content configuration](images/Content-View.png) diff --git a/xamarin-android/SfNavigationDrawer/getting-started.md b/xamarin-android/SfNavigationDrawer/getting-started.md index 8e799ca1..c1571e51 100644 --- a/xamarin-android/SfNavigationDrawer/getting-started.md +++ b/xamarin-android/SfNavigationDrawer/getting-started.md @@ -1,15 +1,15 @@ --- layout: post title: Getting Started with Syncfusion® NavigationDrawer for Xamarin.Android -description: Learn here about getting started with Syncfusion® Xamarin.Android NavigationDrawer control, its elements, and more. -platform: xamarin.android +description: Learn how to get started with the Syncfusion Xamarin.Android NavigationDrawer control, including setup, configuration, and basic implementation. +platform: Xamarin.Android control: NavigationDrawer documentation: ug --- # Getting Started with Xamarin.Android NavigationDrawer -This section provides overview for working with Essential® NavigationDrawer for Xamarin.Android. You can walk through the entire process of creating an NavigationDrawer. +This section provides an overview for working with the Syncfusion NavigationDrawer for Xamarin.Android. You can walk through the entire process of creating a NavigationDrawer control and implementing its key features. ## Referencing Essential Studio® Components in Your Solution @@ -52,10 +52,9 @@ SetContentView(navigationDrawer); {% endtabs %} -## Add Drawer Content - -The sliding main content of the SfNavigationDrawer which is a part of DrawerPanel can be set using `DrawerContentView` property with desired views. +## Configuring Drawer Content +The drawer content is the main sliding panel that contains your navigation items. Configure it using the `DrawerContentView` property: {% tabs %} {% highlight c# %} @@ -98,13 +97,9 @@ namespace NavigationDrawerSample {% endtabs %} +## Adding Drawer Header Content -## Add Drawer Header Content - -SfNavigationDrawer provides option to display certain information like user id or names in the header part instead of providing everything in the drawer content view. - -This can be done using `DrawerHeaderView` property in SfNavigationDrawer. - +The NavigationDrawer provides an option to display user information or branding in the header section. This can be configured using the `DrawerHeaderView` property: {% tabs %} {% highlight c# %} @@ -146,10 +141,9 @@ This can be done using `DrawerHeaderView` property in SfNavigationDrawer. {% endtabs %} -## Add Main Content - -The main view of the SfNavigationDrawer can be set using `ContentView` property with desired views. +## Setting Up Main Content +The main content area displays your primary application content. Configure it using the `ContentView` property: {% tabs %} {% highlight c# %} @@ -181,7 +175,7 @@ The main view of the SfNavigationDrawer can be set using `ContentView` property {% endtabs %} -![Xamarin.Android NavigationDrawer Add Main Content](images/getting-started.png) +![Xamarin.Android NavigationDrawer getting started example](images/getting-started.png) ## Set Drawing Edge for Drawer Panel diff --git a/xamarin-android/SfNavigationDrawer/overview.md b/xamarin-android/SfNavigationDrawer/overview.md index 3d80b957..c302f10a 100644 --- a/xamarin-android/SfNavigationDrawer/overview.md +++ b/xamarin-android/SfNavigationDrawer/overview.md @@ -1,7 +1,7 @@ --- layout: post title: Overview of Syncfusion® NavigationDrawer control for Xamarin.Android -description: Overview and key features of NavigationDrawer control +description: Comprehensive overview and key features of the NavigationDrawer control including positioning, transitions, content management, and customization options platform: Xamarin.Android control: NavigationDrawer documentation: ug @@ -11,7 +11,7 @@ documentation: ug The SfNavigationDrawer is a sliding panel menu that comes out from the edge of the window and allows to have the contents in a hidden panel. It can be shown by swiping from any of the four screen edges or by demand. -![](images/Overview.png) +![SfNavigationDrawer overview showing sliding panel functionality](images/Overview.png) ## Key Features diff --git a/xamarin-android/SfNavigationDrawer/position.md b/xamarin-android/SfNavigationDrawer/position.md index f4cd794d..f7cd0ed7 100644 --- a/xamarin-android/SfNavigationDrawer/position.md +++ b/xamarin-android/SfNavigationDrawer/position.md @@ -1,15 +1,14 @@ --- layout: post title: Position of Drawer in Syncfusion® NavigationDrawer control for Xamarin.Android -description: Learn how to set position of the DrawerView panel. +description: Learn how to configure the position of the DrawerView panel and understand the best practices for different drawer positions. platform: Xamarin.Android control: NavigationDrawer documentation: ug --- -# Configuring The Drawer In Different Sides - -The `Position` property specifies the sliding position of the DrawerView panel. The `Position` property has the following four options, +# Configuring Drawer Position +The `Position` property determines from which edge of the screen the drawer panel will slide. This property provides flexibility in designing your navigation interface to match your application's layout and user experience requirements. The `Position` property supports four distinct options: * Left * Right @@ -35,7 +34,7 @@ Sets the SfNavigationDrawer sliding position to the left. {% endtabs %} -![](images/Left.png) +![NavigationDrawer positioned on the left side](images/Left.png) ## Right @@ -52,7 +51,7 @@ Sets the SfNavigationDrawer sliding position to the right. {% endtabs %} -![](images/Right.png) +![NavigationDrawer positioned on the right side](images/Right.png) ## Top @@ -69,7 +68,7 @@ Sets the SfNavigationDrawer sliding position to the top. {% endtabs %} -![](images/Top.png) +![NavigationDrawer positioned at the top](images/Top.png) ## Bottom @@ -89,3 +88,4 @@ Sets the SfNavigationDrawer sliding position to the bottom. + diff --git a/xamarin-android/SfNavigationDrawer/transition.md b/xamarin-android/SfNavigationDrawer/transition.md index 4eb338fd..b50722d7 100644 --- a/xamarin-android/SfNavigationDrawer/transition.md +++ b/xamarin-android/SfNavigationDrawer/transition.md @@ -1,15 +1,14 @@ --- layout: post title: Transition of drawer in Syncfusion® NavigationDrawer control for Xamarin.Android -description: Learn how to set Transition of the DrawerView panel. +description: Learn how to configure transition animations for the DrawerView panel, including SlideOnTop, Push, and Reveal effects with best practices and performance considerations. platform: Xamarin.Android control: NavigationDrawer documentation: ug --- # Drawer Opening Animation -The `Transition` property specifies the sliding animations for the DrawerView panel. The `Transition` property has the following three options, - +The `Transition` property controls the animation behavior when the drawer opens and closes, providing different visual effects that can enhance your application's user experience. The property offers three distinct animation types, each creating a unique interaction pattern: * SlideOnTop * Push * Reveal diff --git a/xamarin-android/SfRadialMenu/CenterButtonCustomization.md b/xamarin-android/SfRadialMenu/CenterButtonCustomization.md index 47cebc89..2dd1aa76 100644 --- a/xamarin-android/SfRadialMenu/CenterButtonCustomization.md +++ b/xamarin-android/SfRadialMenu/CenterButtonCustomization.md @@ -9,7 +9,7 @@ documentation: ug # Dealing with CenterButton and BackButton -The CenterButton or BackButton in the radial menu can be viewed in the center of the radial menu. It performs operations such as opening and closing the rim and navigating to next level items. The radial menu allows you to customize the CenterButton/BackButton with `FontIcon`, `Custom View`, and `Caption`. +The CenterButton and BackButton are displayed at the center of the radial menu. These buttons perform operations such as opening and closing the rim and navigating to next-level items. The radial menu allows you to customize the CenterButton and BackButton using `FontIcon`, `Custom View`, and `Caption`. ## CenterButtonText and CenterButtonBackText @@ -131,7 +131,7 @@ namespace GettingStarted ## CenterButtonBackground -The [CenterButtonBackgroundColor](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_CenterButtonBackground) changes the background color of the center button in [SfRadialMenu](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html). +The [CenterButtonBackground](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_CenterButtonBackground) changes the background color of the center button in [SfRadialMenu](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html). {% tabs %} {% highlight C# %} @@ -674,3 +674,5 @@ namespace GettingStarted {% endhighlight %} {% endtabs %} + + diff --git a/xamarin-android/SfRadialMenu/Events.md b/xamarin-android/SfRadialMenu/Events.md index d7ceb4d0..996a778b 100644 --- a/xamarin-android/SfRadialMenu/Events.md +++ b/xamarin-android/SfRadialMenu/Events.md @@ -11,7 +11,7 @@ documentation: ug ## Perform an action when navigating to the next level -In a radial menu, you can perform actions when navigating from one level to another. The `Navigating` event occurs when navigating from one level to another, and the `Navigated` event occurs after navigating to another level. +In a radial menu, you can perform actions when navigating from one level to another. The `Navigating` event occurs when navigating from one level to another, and the `Navigated` event occurs after navigating to another level. {% tabs %} {% highlight c# %} @@ -224,7 +224,7 @@ namespace GettingStarted {% endhighlight %} {% endtabs %} -N> You can close navigation using the `Cancel` event argument. +N> You can cancel closing using the `Cancel` event argument. ## Perform an action by tapping the center button @@ -284,7 +284,7 @@ namespace GettingStarted ## Perform an action by tapping the radial menu item -You can perform an action by tapping a radial menu item. The `CenterButtonBackTapped` event occurs when the radial menu item is tapped. +You can perform an action by tapping a radial menu item. The `ItemTapped` event occurs when the radial menu item is tapped. {% tabs %} {% highlight xaml %} diff --git a/xamarin-android/SfRadialMenu/GettingStarted.md b/xamarin-android/SfRadialMenu/GettingStarted.md index d458be0c..283ce2c9 100644 --- a/xamarin-android/SfRadialMenu/GettingStarted.md +++ b/xamarin-android/SfRadialMenu/GettingStarted.md @@ -17,13 +17,13 @@ After installing Essential Studio® for Xamarin, you can find all the {Syncfusion Installed location}\Essential Studio\14.XXXX.X.XX\lib -Add the following assembly references to the Android project. +Add the following assembly reference to the Android project: android\Syncfusion.SfRadialMenu.Andriod.dll ## Adding SfRadialMenu -* Add namespace for the added assemblies. +* Add the namespace for the added assemblies. {% tabs %} {% highlight c# %} @@ -33,7 +33,7 @@ using Syncfusion.SfRadialMenu.Android; {% endhighlight %} {% endtabs %} -* Now, instantiate and add the SfRadialMenu control with a required optimal name. +* Now, instantiate and add the SfRadialMenu control with the required optimal name. {% tabs %} {% highlight c# %} @@ -64,7 +64,7 @@ namespace GettingStarted ## Adding RadialMenu items -SfRadialMenu provides the option to add a number of radial menu items. Add an external font icon typeface into the `Asset` folder, and then set its build action to Android assets. The Unicode can be passed as text to display icons in the SfRadialMenu item. +SfRadialMenu provides the option to add multiple radial menu items. Add an external font icon typeface into the `Assets` folder, and then set its build action to Android assets. The Unicode can be passed as text to display icons in the SfRadialMenu items. {% tabs %} {% highlight c# %} diff --git a/xamarin-android/SfRadialMenu/Overview.md b/xamarin-android/SfRadialMenu/Overview.md index 79d1b666..99df89e5 100644 --- a/xamarin-android/SfRadialMenu/Overview.md +++ b/xamarin-android/SfRadialMenu/Overview.md @@ -1,7 +1,7 @@ --- layout: post title: Overview of Syncfusion® RadialMenu control for Xamarin.Android. -description: Overview and key features of Syncfusion® RadialMenu control to know more about the control in Xamarin.Android. +description: Overview and key features of Syncfusion® RadialMenu control to know more about the control in Xamarin.Android. platform: Xamarin.Android control: SfRadialMenu documentation: ug @@ -9,16 +9,15 @@ documentation: ug # Overview -The SfRadialMenu control displays a hierarchical menu in a circular layout, which is optimized for touch-enabled devices. Typically, it is used as a context menu, and it can expose more menu items in the same space than traditional menus. +The SfRadialMenu control displays a hierarchical menu in a circular layout, optimized for touch-enabled devices. Typically used as a context menu, it can expose more menu items in the same space than traditional menus. ## Key features -* Supports automatic item arrangement. -* Supports rotating items. -* Supports custom view, like an image. -* Provides the option for users to place items as needed. -* Supports floating over the layout to avoid obscuring the content behind the layout. -* Allows you to provide a built-in icon font option that helps users to add vector images that prevent the control from experiencing image glitches that are often faced with traditional image icons. -* Provides complete customization options for the menu and its items, such as coloring, size, placement, and shapes using the segmentation option. - +* **Automatic item arrangement**: Supports automatic positioning and layout of menu items. +* **Item rotation**: Supports rotating menu items for enhanced visual presentation. +* **Custom views**: Supports custom views, including images and other UI elements. +* **Flexible item placement**: Provides options for users to position items as needed. +* **Floating layout**: Supports floating over existing layouts to avoid obscuring content behind the menu. +* **Built-in icon fonts**: Allows you to use built-in icon font options that provide vector images, eliminating image quality issues commonly encountered with traditional bitmap icons. +* **Complete customization**: Provides comprehensive customization options for the menu and its items, including colors, sizes, placement, and shapes using segmentation options. ![OverView of SfRadialMenu](images/overview.png) \ No newline at end of file diff --git a/xamarin-android/SfRadialMenu/PlaceAndDragRadialMenu.md b/xamarin-android/SfRadialMenu/PlaceAndDragRadialMenu.md index 5d061410..1592e12e 100644 --- a/xamarin-android/SfRadialMenu/PlaceAndDragRadialMenu.md +++ b/xamarin-android/SfRadialMenu/PlaceAndDragRadialMenu.md @@ -9,11 +9,11 @@ documentation: ug # Placing and dragging RadialMenu -You can place the radial menu anywhere on its parent layout and drag it within the parent layout. +You can place the RadialMenu anywhere within its parent layout and enable dragging functionality to allow users to reposition it dynamically. ## Dragging RadialMenu -You can enable or disable dragging using the [IsDragEnabled](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_IsDragEnabled) property. +You can enable or disable dragging functionality using the [IsDragEnabled](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_IsDragEnabled) property. {% tabs %} {% highlight c# %} @@ -48,19 +48,19 @@ namespace GettingStarted {% endhighlight %} {% endtabs %} -## DragEvents +## Drag Events SfRadialMenu provides the DragBegin and DragEnd events that occur when the RadialMenu is dragged. +SfRadialMenu provides the DragBegin and DragEnd events that occur when the RadialMenu is being dragged. ### DragBegin -This event occurs when you start dragging RadialMenu with `DragBeginEventArgs`. +This event occurs when you start dragging the RadialMenu. It provides `DragBeginEventArgs` with the following properties: -* `Position`: Gets the start position of the RadialMenu. +* **Position**: Gets the starting position of the RadialMenu. +* **Handled**: Gets or sets a Boolean value to enable or disable the dragging operation. -* `Handled`: Gets or sets the Boolean value for enabling and disabling the dragging of RadialMenu. - -To hook the [DragBegin](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html) event and to get the start position and restrict dragging, refer to the following code example. +To handle the [DragBegin](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html) event and get the start position or restrict dragging, refer to the following code example: {% tabs %} {% highlight c# %} @@ -103,15 +103,12 @@ namespace GettingStarted ### DragEnd -This event occurs when dragging ends in RadialMenu with `DragEndEventArgs`. - -* `OldValue`: Gets the start position of the RadialMenu. - -* `NewValue`: Gets the end position of the RadialMenu. +This event occurs when the dragging operation ends. It provides `DragEndEventArgs` with the following properties: +* **OldValue**: Gets the starting position of the RadialMenu. +* **NewValue**: Gets the ending position of the RadialMenu. +* **Handled**: Gets or sets a Boolean value to restrict the RadialMenu from moving to the new position. -* `Handled`: Gets or sets the Boolean value for restricting the RadialMenu from moving to another position. - -To hook the [DragEnd](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html) event, to get the start and end positions, and to restrict the movement of RadialMenu, refer to the following code example. +To handle the [DragEnd](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html) event and get the start and end positions or restrict the movement, refer to the following code example: {% tabs %} {% highlight c# %} @@ -154,13 +151,12 @@ namespace GettingStarted ## Placement of RadialMenu -You can place the SfRadialMenu based on its CenterButton axis by providing the [CenterButtonPlacement](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_CenterButtonPlacement) enum property with TopLeft and Center positions. - -`TopLeft`: Places the origin (0,0) of SfRadialMenu at the top-left corner. +You can configure the placement of the SfRadialMenu based on its center button axis using the [CenterButtonPlacement](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_CenterButtonPlacement) property with the following options: -`Center`: Places the origin (0,0) of SfRadialMenu at the center. +* **TopLeft**: Places the origin (0,0) of the SfRadialMenu at the top-left corner. +* **Center**: Places the origin (0,0) of the SfRadialMenu at the center. -N> The default value of the [CenterButtonPlacement](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_CenterButtonPlacement) property is center. +N> The default value of the [CenterButtonPlacement](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_CenterButtonPlacement) property is Center. {% tabs %} {% highlight c# %} @@ -198,9 +194,9 @@ namespace GettingStarted ![Image for placement](images/CenterButtonPlacement.png) -## Placing RadialMenu +## Positioning RadialMenu -You can place the radial menu anywhere on its parent layout using the [Point](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_Point) property. The position of Radial Menu is calculated based on the center point of parent layout. +You can position the RadialMenu at a specific location within its parent layout using the [Point](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_Point) property. The position is calculated based on the coordinate system of the parent layout. {% tabs %} {% highlight c# %} diff --git a/xamarin-android/SfRadialMenu/PopulatingItems.md b/xamarin-android/SfRadialMenu/PopulatingItems.md index c61e432c..df7207b0 100644 --- a/xamarin-android/SfRadialMenu/PopulatingItems.md +++ b/xamarin-android/SfRadialMenu/PopulatingItems.md @@ -1,6 +1,6 @@ --- layout: post -title: Data Binding in Syncfusion® RadialMenu control for Xamarin.Android +title: Data Binding in Syncfusion® RadialMenu control for Xamarin.Android description: Learn how to perform DataBinding, adding outer rim items, nested item, duration of the animation and other property usages in SfRadialMenu. platform: Xamarin.Android control: SfRadialMenu @@ -9,15 +9,15 @@ documentation: ug # Populating Items -This section explains how to populate items using the radial menu item and item source. +This section explains how to populate items using radial menu items and item sources. ## Using radial menu items -By passing a collection of [SfRadialMenuItems](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html), you can get the view of the `SfRadialMenu` control. The radial menu item class provides various options such as custom views, font icons, and images to customize the items. You can also add radial menu items by hierarchy. +By passing a collection of [SfRadialMenuItems](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html), you can configure the view of the `SfRadialMenu` control. The radial menu item class provides various options such as custom views, font icons, and images to customize the items. You can also add radial menu items hierarchically. ### Adding outer rim items of the radial menu -The following code sample shows how to add the outer rim items of the radial menu. +The following code sample demonstrates how to add outer rim items to the radial menu: {% tabs %} {% highlight c# %} @@ -60,9 +60,9 @@ namespace GettingStarted ### Adding nested items of a radial menu -You can populate the nested levels of items within a menu to group similar actions. For example, you can group the clipboard operations by adding clipboard as the main menu and cut, copy, and paste as its children. +You can populate nested levels of items within a menu to group similar actions. For example, you can group clipboard operations by adding "Clipboard" as the main menu and "Cut", "Copy", and "Paste" as its children. -The following code sample shows how to add the nested items of the radial menu. +The following code sample demonstrates how to add nested items to the radial menu: {% tabs %} @@ -128,7 +128,7 @@ namespace GettingStarted ## Animation duration -The duration of animation in the radial menu can be changed using the [AnimationDuration](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_AnimationDuration) property. It is used to change the speed of opening and closing the radial menu. +The duration of animation in the radial menu can be customized using the [AnimationDuration](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_AnimationDuration) property. This property controls the speed of opening and closing animations for the radial menu. {% tabs %} {% highlight c# %} @@ -335,7 +335,7 @@ namespace GettingStarted ## Separator thickness and color in the radial menu -The thickness of the strip between the two items can be changed using the [SeparatorThickness](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_SeparatorThickness) property, and the color of the strip can be changed using the [SeparatorColor](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_SeparatorColor) property. +The thickness of the separator between menu items can be customized using the [SeparatorThickness](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_SeparatorThickness) property, and the color of the separator can be customized using the [SeparatorColor](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_SeparatorColor) property. {% tabs %} {% highlight c# %} @@ -382,7 +382,7 @@ namespace GettingStarted ## Rim color and rim radius in radial menu -The radius of the rim can be changed using the [RimRadius](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_RimRadius) property, and the color of the rim can be changed using the [RimColor](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_RimColor) property. +The radius of the rim can be customized using the [RimRadius](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_RimRadius) property, and the color of the rim can be customized using the [RimColor](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_RimColor) property. {% tabs %} {% highlight c# %} diff --git a/xamarin-android/SfRadialMenu/SegmentingAndPlacingItem.md b/xamarin-android/SfRadialMenu/SegmentingAndPlacingItem.md index c782a57b..2d2e91e2 100644 --- a/xamarin-android/SfRadialMenu/SegmentingAndPlacingItem.md +++ b/xamarin-android/SfRadialMenu/SegmentingAndPlacingItem.md @@ -11,14 +11,13 @@ documentation: ug The two different [LayoutTypes](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_LayoutType) available in the radial menu are: -* Default -* Custom - -Both the layout types divide the available space equally among all the children in the circular panel. +* **Default**: Segments are determined by the number of child items +* **Custom**: Segments are determined by the VisibleSegmentsCount property +Both layout types divide the available space equally among all the children in the circular panel. ## Default -The number of segments in the panel is determined by the children count in a level. As the segment count in each hierarchical level differs, radial menu items are arranged in a sequential order as added to the radial menu. +The number of segments in the panel is determined by the children count at each level. Since the segment count in each hierarchical level may differ, radial menu items are arranged in sequential order as they are added to the radial menu. {% tabs %} {% highlight c# %} @@ -81,7 +80,7 @@ namespace GettingStarted ## Custom -The number of segments in the panel is determined using the [VisibleSegmentsCount](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_VisibleSegmentsCount) property. As the segment count in all the hierarchical levels is the same, radial menu items are arranged in any order based on the [SegmentIndex](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html#Syncfusion_SfRadialMenu_Android_SfRadialMenuItem_SegmentIndex) property. +The number of segments in the panel is determined using the [VisibleSegmentsCount](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_VisibleSegmentsCount) property. Since the segment count is consistent across all hierarchical levels, radial menu items can be arranged in any order based on the [SegmentIndex](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html#Syncfusion_SfRadialMenu_Android_SfRadialMenuItem_SegmentIndex) property. {% tabs %} {% highlight c# %} @@ -144,7 +143,7 @@ namespace GettingStarted ## VisibleSegmentsCount -The [VisibleSegmentsCount](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_VisibleSegmentsCount) property is used to specify the number of segments available in the circular panel. When the children count is greater than the value given in the VisibleSegmentsCount property, the overflowing children are not arranged in the panel. When children count is lesser than the VisibleSegmentsCount property, the remaining segments are left free. +The [VisibleSegmentsCount](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_VisibleSegmentsCount) property specifies the number of segments available in the circular panel. When the children count exceeds the value specified in the VisibleSegmentsCount property, the overflowing children are not arranged in the panel. When the children count is less than the VisibleSegmentsCount property value, the remaining segments are left empty. {% tabs %} {% highlight c# %} @@ -210,7 +209,7 @@ namespace GettingStarted ## SegmentIndex -The [SegmentIndex](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html#Syncfusion_SfRadialMenu_Android_SfRadialMenuItem_SegmentIndex) property is used to specify the index of the radial menu item in circular panel. Based on the index, the radial menu items are inserted in the segment. When the SegmentIndex is not specified for a RadialMenuItem, the menu item is arranged in the next available free segment. +The [SegmentIndex](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html#Syncfusion_SfRadialMenu_Android_SfRadialMenuItem_SegmentIndex) property specifies the index position of the radial menu item in the circular panel. Based on this index, radial menu items are inserted into the corresponding segment. When the SegmentIndex is not specified for a RadialMenuItem, the menu item is arranged in the next available segment. {% tabs %} {% highlight c#%} @@ -263,12 +262,11 @@ namespace GettingStarted {% endhighlight %} {% endtabs %} -N> It is necessary to set the VisibleSegmentsCount for the SegmentIndex API to be set. +N> It is necessary to set the VisibleSegmentsCount property for the SegmentIndex property to function properly. ## StartAngle -The `StartAngle` property is used to set the angle from which the arrangement of radial menu items should start. - +The [StartAngle](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_StartAngle) property sets the angle from which the arrangement of radial menu items should begin. {% tabs %} {% highlight c#%} diff --git a/xamarin-android/SfRadialMenu/SfRadialMenuItemCustomization.md b/xamarin-android/SfRadialMenu/SfRadialMenuItemCustomization.md index a4d059b5..f3b3fac4 100644 --- a/xamarin-android/SfRadialMenu/SfRadialMenuItemCustomization.md +++ b/xamarin-android/SfRadialMenu/SfRadialMenuItemCustomization.md @@ -9,7 +9,7 @@ documentation: ug # SfRadialMenuItem Customization -The [SfRadialMenuItem](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html) class provides various options such as `Custom Views`, `FontIcons`, and `Images` to customize the items. You can add radial menu items by hierarchy. To add a SfRadialMenuItem with SfRadialMenu, create an instance of SfRadialMenuItem, and add it to the [Items](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_Items) property that is available in SfRadialMenu. +The [SfRadialMenuItem](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html) class provides various options such as `Custom Views`, `FontIcons`, and `Images` to customize the items. You can add radial menu items hierarchically. To add a SfRadialMenuItem to SfRadialMenu, create an instance of SfRadialMenuItem and add it to the [Items](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenu.html#Syncfusion_SfRadialMenu_Android_SfRadialMenu_Items) property that is available in SfRadialMenu. ## Items @@ -53,7 +53,7 @@ namespace GettingStarted ## Text -The [Text](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html#Syncfusion_SfRadialMenu_Android_SfRadialMenuItem_Text) property provides text to the [SfRadialMenuItem](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html). +The [Text](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html#Syncfusion_SfRadialMenu_Android_SfRadialMenuItem_Text) property provides text content to the [SfRadialMenuItem](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html). {% tabs %} {% highlight C# %} @@ -93,7 +93,7 @@ namespace GettingStarted ## ItemHeight -The [ItemHeight](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html#Syncfusion_SfRadialMenu_Android_SfRadialMenuItem_ItemHeight) changes the height of the [SfRadialMenuItem](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html). +The [ItemHeight](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html#Syncfusion_SfRadialMenu_Android_SfRadialMenuItem_ItemHeight) property changes the height of the [SfRadialMenuItem](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfRadialMenu.Android.SfRadialMenuItem.html). {% tabs %} {% highlight C# %} @@ -580,3 +580,4 @@ namespace GettingStarted {% endtabs %} ![SfRadialMenu with Items](images/Customization.png) + From ad054842f480c0ee3bc9d0e37afa0d9a52fde027 Mon Sep 17 00:00:00 2001 From: TameemAnsari-SF4702 Date: Wed, 25 Jun 2025 12:10:11 +0530 Subject: [PATCH 2/4] Resolved the CI failed cases --- .../Customizing-the-Suggestion-DropDown.md | 12 ++++++------ .../SfAutoComplete/Diacritic-Sensitivity.md | 12 ++++++------ xamarin-android/SfAutoComplete/Getting-Started.md | 12 ++++++------ xamarin-android/SfAutoComplete/Header-and-Footer.md | 6 +++--- .../Maximum-display-item-with-Expander.md | 4 ++-- xamarin-android/SfAutoComplete/Multiple-selection.md | 2 +- xamarin-android/SfAutoComplete/No-Result-Found.md | 12 ++++++------ xamarin-android/SfAutoComplete/Populating-Items.md | 4 ++-- .../SfAutoComplete/Suggestion-Display-Mode.md | 6 +++--- .../Various-Filter-Options-for-Suggestion.md | 12 ++++++------ xamarin-android/SfAutoComplete/Watermark.md | 12 ++++++------ .../SfAutoComplete/highlighting-matched-text.md | 8 ++++---- xamarin-android/SfBusyIndicator/AnimationType.md | 8 ++++---- xamarin-android/SfBusyIndicator/Getting-Started.md | 4 ++-- .../SfBusyIndicator/Make-Busy-Animation-Idle.md | 8 ++++---- xamarin-android/SfBusyIndicator/Overview.md | 4 ++-- xamarin-android/SfBusyIndicator/Set-Header.md | 10 +++++----- xamarin-android/SfBusyIndicator/Sizing.md | 8 ++++---- xamarin-android/SfCarousel/Linear-Arrangement.md | 4 ++-- xamarin-android/SfCarousel/animation.md | 8 ++++---- xamarin-android/SfCarousel/getting-started.md | 4 ++-- xamarin-android/SfCarousel/how-to.md | 4 ++-- xamarin-android/SfCarousel/overview.md | 2 +- xamarin-android/SfCarousel/populating-data.md | 2 +- xamarin-android/SfCarousel/transformation.md | 4 ++-- xamarin-android/SfComboBox/ComboBox-Modes.md | 3 +-- xamarin-android/SfComboBox/Customizing.md | 3 +-- .../SfComboBox/Dealing-with-SuggestionBox.md | 5 ++--- xamarin-android/SfComboBox/Filtering-Option.md | 5 ++--- xamarin-android/SfComboBox/Getting-Started.md | 2 +- xamarin-android/SfComboBox/Header-and-Footer.md | 3 +-- xamarin-android/SfComboBox/Multiple-selection.md | 2 +- xamarin-android/SfComboBox/No-Result-Found.md | 2 +- xamarin-android/SfComboBox/Overview.md | 2 +- xamarin-android/SfComboBox/Populating-Items.md | 2 +- .../SfComboBox/Suggestion-Display-Mode.md | 2 +- .../Various-Filter-Options-for-Suggestion.md | 2 +- .../SfComboBox/highlighting-matched-text.md | 2 +- 38 files changed, 101 insertions(+), 106 deletions(-) diff --git a/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md b/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md index 7f6b9cbb..e9a667a3 100644 --- a/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md +++ b/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md @@ -1,10 +1,10 @@ --- -layout : post -title : MinimumPrefixCharacters for Syncfusion® AutoComplete Control in Xamarin.Android -description : Learn how to set the MinimumPrefixCharacter in SfAutoComplete -platform : Xamarin.Android -control : SfAutoComplete -documentation : ug +layout: post +title: Syncfusion® AutoComplete MinimumPrefixCharacters Android +description: Learn how to set the MinimumPrefixCharacter in SfAutoComplete +platform: xamarin.android +control: SfAutoComplete +documentation: ug --- diff --git a/xamarin-android/SfAutoComplete/Diacritic-Sensitivity.md b/xamarin-android/SfAutoComplete/Diacritic-Sensitivity.md index bf3d24ea..a43a0547 100644 --- a/xamarin-android/SfAutoComplete/Diacritic-Sensitivity.md +++ b/xamarin-android/SfAutoComplete/Diacritic-Sensitivity.md @@ -1,10 +1,10 @@ --- -layout : post -title : Diacritic Sensitivity in Syncfusion® SfAutoComplete Control for Xamarin.Android -description : Learn how to enable and disable diacritic sensitivity in SfAutoComplete for multilingual text search -platform : Xamarin.Android -control : SfAutoComplete -documentation : ug +layout: post +title: Syncfusion® SfAutoComplete Diacritic Sensitivity Android +description: Learn how to enable and disable diacritic sensitivity in SfAutoComplete for multilingual text search +platform: xamarin.android +control: SfAutoComplete +documentation: ug --- # Diacritic Sensitivity diff --git a/xamarin-android/SfAutoComplete/Getting-Started.md b/xamarin-android/SfAutoComplete/Getting-Started.md index 897c574e..a177543d 100644 --- a/xamarin-android/SfAutoComplete/Getting-Started.md +++ b/xamarin-android/SfAutoComplete/Getting-Started.md @@ -1,10 +1,10 @@ --- -layout : post -title : Getting Started with Syncfusion® AutoComplete Control for Xamarin.Android -description : A quick tour for initial users on Syncfusion® SfAutoComplete control for Xamarin.Android platform -platform : Xamarin.Android -control : SfAutoComplete -documentation : ug +layout: post +title: Syncfusion® AutoComplete Getting Started for Android +description: A quick tour for initial users on Syncfusion® SfAutoComplete control for Xamarin.Android platform +platform: xamarin.android +control: SfAutoComplete +documentation: ug --- # Getting Started diff --git a/xamarin-android/SfAutoComplete/Header-and-Footer.md b/xamarin-android/SfAutoComplete/Header-and-Footer.md index a8d19290..86802d7d 100644 --- a/xamarin-android/SfAutoComplete/Header-and-Footer.md +++ b/xamarin-android/SfAutoComplete/Header-and-Footer.md @@ -1,8 +1,8 @@ --- -layout : post -title: Header and Footer in Xamarin.Android SfAutoComplete Control|Syncfusion® +layout: post +title: Header and Footer in Syncfusion® SfAutoComplete Xamarin.Android description: Learn here about how to enable Header and Footer in Syncfusion® Essential® Xamarin.Android SfAutoComplete Control, its elements, and more. -platform: Xamarin.Android +platform: xamarin.android control: SfAutoComplete documentation: ug --- diff --git a/xamarin-android/SfAutoComplete/Maximum-display-item-with-Expander.md b/xamarin-android/SfAutoComplete/Maximum-display-item-with-Expander.md index 31dde15d..049277b6 100644 --- a/xamarin-android/SfAutoComplete/Maximum-display-item-with-Expander.md +++ b/xamarin-android/SfAutoComplete/Maximum-display-item-with-Expander.md @@ -1,8 +1,8 @@ --- layout: post -title: Maximum Display Items with Load More in Syncfusion® SfAutoComplete Control for Xamarin.Android +title: Max Display Items with Load More Syncfusion® SfAutoComplete description: Learn how to restrict the maximum number of suggestions displayed in SfAutoComplete and implement load more functionality -platform: Xamarin.Android +platform: xamarin.android control: SfAutoComplete documentation: ug --- diff --git a/xamarin-android/SfAutoComplete/Multiple-selection.md b/xamarin-android/SfAutoComplete/Multiple-selection.md index 869a5ce7..fd670e96 100644 --- a/xamarin-android/SfAutoComplete/Multiple-selection.md +++ b/xamarin-android/SfAutoComplete/Multiple-selection.md @@ -2,7 +2,7 @@ layout: post title: Multiple Selection in Xamarin.Android SfAutoComplete | Syncfusion® description: Learn how to select multiple items in Syncfusion® Essential® Xamarin.Android SfAutoComplete Control, its elements, and more. -platform: Xamarin.Android +platform: xamarin.android control: SfAutoComplete documentation: ug --- diff --git a/xamarin-android/SfAutoComplete/No-Result-Found.md b/xamarin-android/SfAutoComplete/No-Result-Found.md index 24f2fad6..b3deabdc 100644 --- a/xamarin-android/SfAutoComplete/No-Result-Found.md +++ b/xamarin-android/SfAutoComplete/No-Result-Found.md @@ -1,10 +1,10 @@ --- -layout : post -title : No Results Found Text in Syncfusion® SfAutoComplete Control for Xamarin.Android -description : Learn how to display and customize the no results found text in SfAutoComplete -platform : Xamarin.Android -control : SfAutoComplete -documentation : ug +layout: post +title: Syncfusion® SfAutoComplete No Results Found Text Android +description: Learn how to display and customize the no results found text in SfAutoComplete +platform: xamarin.android +control: SfAutoComplete +documentation: ug --- # No Results Found diff --git a/xamarin-android/SfAutoComplete/Populating-Items.md b/xamarin-android/SfAutoComplete/Populating-Items.md index e5cd9898..3487e808 100644 --- a/xamarin-android/SfAutoComplete/Populating-Items.md +++ b/xamarin-android/SfAutoComplete/Populating-Items.md @@ -1,8 +1,8 @@ --- layout: post -title: Populating Items in Xamarin.Android SfAutoComplete Control | Syncfusion® +title: Syncfusion® SfAutoComplete Populating Items for Android description: Learn here about Populating Items in Syncfusion® Essential® Xamarin.Android SfAutoComplete Control, its elements, and more. -platform: Xamarin.Android +platform: xamarin.android control: SfAutoComplete documentation: ug --- diff --git a/xamarin-android/SfAutoComplete/Suggestion-Display-Mode.md b/xamarin-android/SfAutoComplete/Suggestion-Display-Mode.md index 112c0b63..ccbdd90a 100644 --- a/xamarin-android/SfAutoComplete/Suggestion-Display-Mode.md +++ b/xamarin-android/SfAutoComplete/Suggestion-Display-Mode.md @@ -1,8 +1,8 @@ --- -layout : post -title: Suggestion Display Mode in Xamarin.Android SfAutoComplete Control | Syncfusion® +layout: post +title: SfAutoComplete Suggestion Display Mode Syncfusion® Android description: Learn here about Suggestion Display Mode in Syncfusion® Essential® Xamarin.Android SfAutoComplete Control, its elements, and more. -platform: Xamarin.Android +platform: xamarin.android control: SfAutoComplete documentation: ug --- diff --git a/xamarin-android/SfAutoComplete/Various-Filter-Options-for-Suggestion.md b/xamarin-android/SfAutoComplete/Various-Filter-Options-for-Suggestion.md index 99173a9e..5143f77a 100644 --- a/xamarin-android/SfAutoComplete/Various-Filter-Options-for-Suggestion.md +++ b/xamarin-android/SfAutoComplete/Various-Filter-Options-for-Suggestion.md @@ -1,10 +1,10 @@ --- -layout : post -title : Various Filter Options for Suggestion in Syncfusion® AutoComplete Control for Xamarin.Android -description : Learn how to configure various filter options and suggestion modes in SfAutoComplete -platform : Xamarin.Android -control : SfAutoComplete -documentation : ug +layout: post +title: Syncfusion® AutoComplete Filter Options for Suggestion +description: Learn how to configure various filter options and suggestion modes in SfAutoComplete +platform: xamarin.android +control: SfAutoComplete +documentation: ug --- # Various Filter Options for Suggestion diff --git a/xamarin-android/SfAutoComplete/Watermark.md b/xamarin-android/SfAutoComplete/Watermark.md index ca0c635b..59be4f2e 100644 --- a/xamarin-android/SfAutoComplete/Watermark.md +++ b/xamarin-android/SfAutoComplete/Watermark.md @@ -1,10 +1,10 @@ --- -layout : post -title : Watermark in Syncfusion® AutoComplete Control for Xamarin.Android -description : Learn how to set and customize the watermark text in SfAutoComplete -platform : Xamarin.Android -control : SfAutoComplete -documentation : ug +layout: post +title: Watermark in Syncfusion® AutoComplete for Xamarin.Android +description: Learn how to set and customize the watermark text in SfAutoComplete +platform: xamarin.android +control: SfAutoComplete +documentation: ug --- # Watermark diff --git a/xamarin-android/SfAutoComplete/highlighting-matched-text.md b/xamarin-android/SfAutoComplete/highlighting-matched-text.md index c009e46b..bbad5334 100644 --- a/xamarin-android/SfAutoComplete/highlighting-matched-text.md +++ b/xamarin-android/SfAutoComplete/highlighting-matched-text.md @@ -1,10 +1,10 @@ --- -layout : post +layout: post title: Highlighting Matched Text in Syncfusion® SfAutoComplete Control description: Learn how to highlight matched text in SfAutoComplete for Xamarin.Android and understand how to highlight matching characters in the suggestion list -platform : Xamarin.Android -control : SfAutoComplete -documentation : ug +platform: xamarin.android +control: SfAutoComplete +documentation: ug --- # Highlighting Matched Text diff --git a/xamarin-android/SfBusyIndicator/AnimationType.md b/xamarin-android/SfBusyIndicator/AnimationType.md index 81822e45..9c1c0b8c 100644 --- a/xamarin-android/SfBusyIndicator/AnimationType.md +++ b/xamarin-android/SfBusyIndicator/AnimationType.md @@ -1,8 +1,8 @@ --- layout: post -title: AnimationTypes in Syncfusion® BusyIndicator control for Xamarin.Android -description: Learn various animation types in SfBusyIndicator -platform: Xamarin.Android +title: AnimationTypes in Syncfusion® BusyIndicator for Xamarin.Android +description: Learn various animation types in SfBusyIndicator control and how to customize visual loading effects +platform: xamarin.android control: SfBusyIndicator documentation: ug --- @@ -23,6 +23,6 @@ The `AnimationType` property of SfBusyIndicator allows you to set any of the bui N> For getting animation types of SfBusyIndicator, need to add the `using Com.Syncfusion.Sfbusyindicator.Enums` namespace. -![](images/Ball.png) +![Image of Ball animation type](images/Ball.png){:width="300px"} diff --git a/xamarin-android/SfBusyIndicator/Getting-Started.md b/xamarin-android/SfBusyIndicator/Getting-Started.md index ac60d6b0..094dac0d 100644 --- a/xamarin-android/SfBusyIndicator/Getting-Started.md +++ b/xamarin-android/SfBusyIndicator/Getting-Started.md @@ -1,8 +1,8 @@ --- layout: post -title: Getting Started with Xamarin.Android BusyIndicator Control| Syncfusion® +title: Getting Started with Syncfusion® BusyIndicator for Android description: Learn here about Getting Started with Syncfusion® Essential® Xamarin.Android BusyIndicator Control, its elements, and more. -platform: Xamarin.Android +platform: xamarin.android control: SfBusyIndicator documentation: ug --- diff --git a/xamarin-android/SfBusyIndicator/Make-Busy-Animation-Idle.md b/xamarin-android/SfBusyIndicator/Make-Busy-Animation-Idle.md index 3f6fbc3e..08f91b15 100644 --- a/xamarin-android/SfBusyIndicator/Make-Busy-Animation-Idle.md +++ b/xamarin-android/SfBusyIndicator/Make-Busy-Animation-Idle.md @@ -1,8 +1,8 @@ --- layout: post -title: IsBusy support in Syncfusion® BusyIndicator control for Xamarin.Android -description: Learn how to enable and disable animation in BusyIndicator -platform: Xamarin.Android +title: IsBusy support in Syncfusion® BusyIndicator for Xamarin.Android +description: Learn how to enable and disable animation in BusyIndicator control to manage loading states effectively +platform: xamarin.android control: SfBusyIndicator documentation: ug --- @@ -23,7 +23,7 @@ The SfBusyIndicator control provides support to control whether the animation sh {% endtabs %} -![](images/IsBusy_img1.png) +![IsBusy Image](images/IsBusy_img1.png) BusyIndicator {:.caption} diff --git a/xamarin-android/SfBusyIndicator/Overview.md b/xamarin-android/SfBusyIndicator/Overview.md index 2fa93e19..76ee1913 100644 --- a/xamarin-android/SfBusyIndicator/Overview.md +++ b/xamarin-android/SfBusyIndicator/Overview.md @@ -1,8 +1,8 @@ --- layout: post title: Overview of Syncfusion® BusyIndicator for Xamarin.Android -description: Overview and key features of BusyIndicator control -platform: Xamarin.Android +description: Overview and key features of BusyIndicator control for displaying loading states and progress animations +platform: xamarin.android control: SfBusyIndicator documentation: ug --- diff --git a/xamarin-android/SfBusyIndicator/Set-Header.md b/xamarin-android/SfBusyIndicator/Set-Header.md index 5e3a631d..eda6b34c 100644 --- a/xamarin-android/SfBusyIndicator/Set-Header.md +++ b/xamarin-android/SfBusyIndicator/Set-Header.md @@ -1,8 +1,8 @@ --- layout: post -title: Set header to the Syncfusion® BusyIndicator control for Xamarin.Android -description: Learn how to set header text and customize font properties for the BusyIndicator control -platform: Xamarin.Android +title: Set header to the Syncfusion® BusyIndicator for Xamarin.Android +description: Learn how to set header text and customize font properties for the BusyIndicator control in Xamarin.Android +platform: xamarin.android control: SfBusyIndicator documentation: ug --- @@ -22,7 +22,7 @@ The SfBusyIndicator control provides an option to display informative text that {% endtabs %} -![](images/Title_img1.png) +![Image showing BusyIndicator with header text](images/Title_img1.png) BusyIndicator with header text {:.caption} @@ -43,7 +43,7 @@ You can customize the font style and size of the header text that appears beneat {% endtabs %} -![](images/Title_img2.png) +![Image showing BusyIndicator with custom header text](images/Title_img2.png) BusyIndicator with custom font face {:.caption} diff --git a/xamarin-android/SfBusyIndicator/Sizing.md b/xamarin-android/SfBusyIndicator/Sizing.md index a85d3fce..4f6fe278 100644 --- a/xamarin-android/SfBusyIndicator/Sizing.md +++ b/xamarin-android/SfBusyIndicator/Sizing.md @@ -1,8 +1,8 @@ --- layout: post -title: Sizing support in Syncfusion® BusyIndicator control for Xamarin.Android -description: Learn how to customize the size and dimensions of the BusyIndicator animation -platform: Xamarin.Android +title: Sizing support in Syncfusion® BusyIndicator for Xamarin.Android +description: Learn how to customize the size and dimensions of the BusyIndicator animation for optimal display +platform: xamarin.android control: SfBusyIndicator documentation: ug --- @@ -23,7 +23,7 @@ busyIndicator.ViewBoxHeight=200; {% endtabs %} -![](images/Sizing_img1.png) +![Image of BusyIndicator customization](images/Sizing_img1.png) ViewBox height and width {:.caption} diff --git a/xamarin-android/SfCarousel/Linear-Arrangement.md b/xamarin-android/SfCarousel/Linear-Arrangement.md index fc450e63..44e93bc5 100644 --- a/xamarin-android/SfCarousel/Linear-Arrangement.md +++ b/xamarin-android/SfCarousel/Linear-Arrangement.md @@ -1,8 +1,8 @@ --- layout: post title: Linear Arrangement in Syncfusion® Carousel control for Xamarin.Android -description: Learn how to arrange carousel items in linear layout using ViewMode property in Xamarin.Android -platform: Xamarin.Android +description: Learn how to arrange carousel items in linear layout using ViewMode property in Xamarin.Android platform +platform: xamarin.android control: SfCarousel documentation: ug --- diff --git a/xamarin-android/SfCarousel/animation.md b/xamarin-android/SfCarousel/animation.md index 8fa100ad..2e12830c 100644 --- a/xamarin-android/SfCarousel/animation.md +++ b/xamarin-android/SfCarousel/animation.md @@ -1,15 +1,15 @@ --- layout: post -title: Setting the duration for animation in Syncfusion® Carousel control in Xamarin.Android -description: Learn how to set the duration for animation in Carousel for Xamarin.Android -platform: Xamarin.Android +title: Setting animation duration in Xamarin.Android Carousel +description: Learn how to set the duration for animation in Carousel for Xamarin.Android and customize timing properties +platform: xamarin.android control: SfCarousel documentation: ug --- # Animation -The [Duration](https://help.syncfusion.com/cr/xamarin-android/Syncfusion.SfCarousel.Android.SfCarousel.html#Syncfusion_SfCarousel_Android_SfCarousel_Duration) property of the SfCarousel control specifies the time taken for the animation when an item moves to the selected position. The duration is specified in milliseconds. The default value is 300 milliseconds. +The Duration property of the SfCarousel control specifies the time taken for the animation when an item moves to the selected position. The duration is specified in milliseconds. The default value is 300 milliseconds. {% highlight C# %} SfCarousel carousel= new SfCarousel(this); diff --git a/xamarin-android/SfCarousel/getting-started.md b/xamarin-android/SfCarousel/getting-started.md index 0b459360..ab11ec4b 100644 --- a/xamarin-android/SfCarousel/getting-started.md +++ b/xamarin-android/SfCarousel/getting-started.md @@ -1,8 +1,8 @@ --- layout: post title: Getting Started with Syncfusion® Carousel Control for Xamarin.Android -description: A quick tour to initial users on Syncfusion® carousel control for Xamarin.Android platform. -platform: Xamarin.Android +description: A quick tour to initial users on Syncfusion® carousel control for Xamarin.Android platform and setup +platform: xamarin.android control: SfCarousel documentation: ug --- diff --git a/xamarin-android/SfCarousel/how-to.md b/xamarin-android/SfCarousel/how-to.md index 0bab1a82..800edf73 100644 --- a/xamarin-android/SfCarousel/how-to.md +++ b/xamarin-android/SfCarousel/how-to.md @@ -2,7 +2,7 @@ layout: post title: Interaction in Syncfusion® Carousel Control in Xamarin.Android description: Learn how to perform an operation while changing the carouselItem or Collection in Carousel for Xamarin.Android -platform: Xamarin.Android +platform: xamarin.android control: SfCarousel documentation: ug --- @@ -20,7 +20,7 @@ carousel.SelectionChanged += (object sender, SfCarousel.SelectionChangedEventArg {% endhighlight %} -# How to perform an operation while changing the collection of carousel? +## How to perform an operation while changing the collection of carousel? You can perform an operation while changing the collection of carousel using the `ItemsCollectionChanged` event. The ItemsCollectionChanged event returns the changed collection of SfCarouselItem. diff --git a/xamarin-android/SfCarousel/overview.md b/xamarin-android/SfCarousel/overview.md index 6b06ce4d..977dfea5 100644 --- a/xamarin-android/SfCarousel/overview.md +++ b/xamarin-android/SfCarousel/overview.md @@ -2,7 +2,7 @@ layout: post title: Overview of Syncfusion® Carousel control for Xamarin.Android description: This explains about the Overview and key features of Syncfusion® Essential® Xamarin.Android Carousel Control -platform: Xamarin.Android +platform: xamarin.android control: SfCarousel documentation: ug --- diff --git a/xamarin-android/SfCarousel/populating-data.md b/xamarin-android/SfCarousel/populating-data.md index 6894b79a..7bf9cddc 100644 --- a/xamarin-android/SfCarousel/populating-data.md +++ b/xamarin-android/SfCarousel/populating-data.md @@ -2,7 +2,7 @@ layout: post title: Populating data in Syncfusion® Carousel control in Xamarin.Android description: Learn details about how to set the DataSource, set the customview, adapter support and selected index in Carousel for Xamarin.Android platform -platform: Xamarin.Android +platform: xamarin.android control: SfCarousel documentation: ug --- diff --git a/xamarin-android/SfCarousel/transformation.md b/xamarin-android/SfCarousel/transformation.md index e80e44cd..7597dc10 100644 --- a/xamarin-android/SfCarousel/transformation.md +++ b/xamarin-android/SfCarousel/transformation.md @@ -1,8 +1,8 @@ --- layout: post title: Transformation in Syncfusion® Carousel control in Xamarin.Android -description: Learn how to set the Transformation in Carousel for Xamarin.Android -platform: Xamarin.Android +description: Learn how to set the Transformation in Carousel for Xamarin.Android and customize visual effects +platform: xamarin.android control: SfCarousel documentation: ug --- diff --git a/xamarin-android/SfComboBox/ComboBox-Modes.md b/xamarin-android/SfComboBox/ComboBox-Modes.md index 1eb56b03..19e96598 100644 --- a/xamarin-android/SfComboBox/ComboBox-Modes.md +++ b/xamarin-android/SfComboBox/ComboBox-Modes.md @@ -2,10 +2,9 @@ layout: post title: ComboBox Modes in Syncfusion® SfComboBox for Xamarin.Android description: Learn how to configure and use different ComboBox modes in the Syncfusion SfComboBox control for Xamarin.Android applications -platform: Xamarin.Android +platform: xamarin.android control: SfComboBox documentation: ug -tags: [ComboBox, Xamarin.Android, Syncfusion, SfComboBox, Editable, Non-editable, Dropdown, User-Input, Mobile-Controls] --- # ComboBox Modes diff --git a/xamarin-android/SfComboBox/Customizing.md b/xamarin-android/SfComboBox/Customizing.md index 3a17514a..5b0d8dbe 100644 --- a/xamarin-android/SfComboBox/Customizing.md +++ b/xamarin-android/SfComboBox/Customizing.md @@ -2,10 +2,9 @@ layout: post title: UI Customization for Syncfusion® SfComboBox in Xamarin.Android description: Learn how to customize the appearance and styling of the Syncfusion SfComboBox control, including entry field, dropdown, buttons, and watermark customization -platform: Xamarin.Android +platform: xamarin.android control: SfComboBox documentation: ug -tags: [UI-Customization, ComboBox, Xamarin.Android, Syncfusion, SfComboBox, Styling, Theming, Dropdown-Customization, Text-Formatting, Button-Customization, Watermark, Mobile-UI] --- # UI Customization diff --git a/xamarin-android/SfComboBox/Dealing-with-SuggestionBox.md b/xamarin-android/SfComboBox/Dealing-with-SuggestionBox.md index 310cf2a4..48a40edd 100644 --- a/xamarin-android/SfComboBox/Dealing-with-SuggestionBox.md +++ b/xamarin-android/SfComboBox/Dealing-with-SuggestionBox.md @@ -2,10 +2,9 @@ layout: post title: Suggestion Box Placement in Syncfusion® SfComboBox for Xamarin.Android description: Learn how to configure and control the placement of the suggestion box in the Syncfusion SfComboBox control for optimal user experience -platform: Xamarin.Android +platform: xamarin.android control: SfComboBox documentation: ug -tags: [SuggestionBox, ComboBox, Xamarin.Android, Syncfusion, SfComboBox, Dropdown-Placement, UI-Layout, Positioning, Mobile-Controls, User-Interface] --- # Suggestion Box Placement @@ -41,4 +40,4 @@ combobox.SuggestionBoxPlacement = SuggestionBoxPlacement.Top; {% endhighlight %} {% endtabs %} -![](images/top.png) +![Suggestion box positioned at top](images/top.png) diff --git a/xamarin-android/SfComboBox/Filtering-Option.md b/xamarin-android/SfComboBox/Filtering-Option.md index 8889b088..82e0e01f 100644 --- a/xamarin-android/SfComboBox/Filtering-Option.md +++ b/xamarin-android/SfComboBox/Filtering-Option.md @@ -1,11 +1,10 @@ --- layout: post -title: Filtering Options in Syncfusion® SfComboBox control for Xamarin.Android +title: Filtering Options in Syncfusion® SfComboBox for Xamarin.Android description: Learn how to enable and configure text filtering in the SfComboBox dropdown list for enhanced user experience -platform: Xamarin.Android +platform: xamarin.android control: SfComboBox documentation: ug -tags: [filtering, combobox, xamarin-android, syncfusion, dropdown, search, editable, user-input] --- # Filtering Options diff --git a/xamarin-android/SfComboBox/Getting-Started.md b/xamarin-android/SfComboBox/Getting-Started.md index 1e4b8146..ab57f6ff 100644 --- a/xamarin-android/SfComboBox/Getting-Started.md +++ b/xamarin-android/SfComboBox/Getting-Started.md @@ -2,7 +2,7 @@ layout: post title: Getting Started with Syncfusion® SfComboBox Control for Xamarin.Android description: A comprehensive guide to implementing the Syncfusion SfComboBox control in Xamarin.Android applications, including setup, data population, and configuration options. -platform: Xamarin.Android +platform: xamarin.android control: SfComboBox documentation: ug --- diff --git a/xamarin-android/SfComboBox/Header-and-Footer.md b/xamarin-android/SfComboBox/Header-and-Footer.md index 40f86734..4544617b 100644 --- a/xamarin-android/SfComboBox/Header-and-Footer.md +++ b/xamarin-android/SfComboBox/Header-and-Footer.md @@ -2,10 +2,9 @@ layout: post title: Header and Footer Views in Syncfusion® SfComboBox control for Xamarin.Android description: Learn how to add and customize header and footer views in the SfComboBox dropdown list to enhance user experience and provide additional functionality. -platform: Xamarin.Android +platform: xamarin.android control: SfComboBox documentation: ug -tags: [header-footer, dropdown-customization, xamarin-android, sfcombobox, syncfusion, ui-customization, views, dropdown-views] --- # Header and Footer Views diff --git a/xamarin-android/SfComboBox/Multiple-selection.md b/xamarin-android/SfComboBox/Multiple-selection.md index a277b5e4..b49a3287 100644 --- a/xamarin-android/SfComboBox/Multiple-selection.md +++ b/xamarin-android/SfComboBox/Multiple-selection.md @@ -2,7 +2,7 @@ layout: post title: Multiple Selection in Xamarin.Android SfComboBox Control | Syncfusion® description: Learn here about Multiple Selection in Syncfusion® Essential® Xamarin.Android SfComboBox Control, its elements, and more. -platform: Xamarin.Android +platform: xamarin.android control: SfComboBox documentation: ug --- diff --git a/xamarin-android/SfComboBox/No-Result-Found.md b/xamarin-android/SfComboBox/No-Result-Found.md index 745c6903..6c935fa6 100644 --- a/xamarin-android/SfComboBox/No-Result-Found.md +++ b/xamarin-android/SfComboBox/No-Result-Found.md @@ -2,7 +2,7 @@ layout: post title: No Result Found Text in Syncfusion® SfComboBox control for Xamarin.Android description: Learn how to display and customize the no result found text in SfComboBox when search queries return no matches -platform: Xamarin.Android +platform: xamarin.android control: SfComboBox documentation: ug --- diff --git a/xamarin-android/SfComboBox/Overview.md b/xamarin-android/SfComboBox/Overview.md index 98b356dc..690f2e33 100644 --- a/xamarin-android/SfComboBox/Overview.md +++ b/xamarin-android/SfComboBox/Overview.md @@ -2,7 +2,7 @@ layout: post title: Overview of Syncfusion® ComboBox control for Xamarin.Android description: Comprehensive overview and key features of the SfComboBox control including data binding, filtering, customization, and multi-selection capabilities -platform: Xamarin.Android +platform: xamarin.android control: SfComboBox documentation: ug --- diff --git a/xamarin-android/SfComboBox/Populating-Items.md b/xamarin-android/SfComboBox/Populating-Items.md index cd665bcc..8defb862 100644 --- a/xamarin-android/SfComboBox/Populating-Items.md +++ b/xamarin-android/SfComboBox/Populating-Items.md @@ -2,7 +2,7 @@ layout: post title: DataSource mode in Syncfusion® ComboBox control for Xamarin.Android description: Learn how to populate items in the Syncfusion Xamarin.Android ComboBox Control with string data and business objects, including DataSource configuration and DisplayMemberPath usage. -platform: Xamarin.Android +platform: xamarin.android control: SfComboBox documentation: ug --- diff --git a/xamarin-android/SfComboBox/Suggestion-Display-Mode.md b/xamarin-android/SfComboBox/Suggestion-Display-Mode.md index 3e07edcc..a47c61f8 100644 --- a/xamarin-android/SfComboBox/Suggestion-Display-Mode.md +++ b/xamarin-android/SfComboBox/Suggestion-Display-Mode.md @@ -2,7 +2,7 @@ layout: post title: ComboBoxMode for Syncfusion® ComboBox control in Xamarin.Android description: Learn how to configure the ComboBoxMode property in SfComboBox to control suggestion display patterns -platform: Xamarin.Android +platform: xamarin.android control: SfComboBox documentation: ug --- diff --git a/xamarin-android/SfComboBox/Various-Filter-Options-for-Suggestion.md b/xamarin-android/SfComboBox/Various-Filter-Options-for-Suggestion.md index 2a79e951..b46d460f 100644 --- a/xamarin-android/SfComboBox/Various-Filter-Options-for-Suggestion.md +++ b/xamarin-android/SfComboBox/Various-Filter-Options-for-Suggestion.md @@ -2,7 +2,7 @@ layout: post title: Suggestion mode for Syncfusion® ComboBox Control in Xamarin.Android description: Learn how to configure various filtering modes and suggestion display options in SfComboBox -platform: Xamarin.Android +platform: xamarin.android control: SfComboBox documentation: ug --- diff --git a/xamarin-android/SfComboBox/highlighting-matched-text.md b/xamarin-android/SfComboBox/highlighting-matched-text.md index 2f014d4d..14ed44fc 100644 --- a/xamarin-android/SfComboBox/highlighting-matched-text.md +++ b/xamarin-android/SfComboBox/highlighting-matched-text.md @@ -2,7 +2,7 @@ layout: post title: Text Highlighting in Syncfusion® SfComboBox control for Xamarin.Android description: Learn how to highlight matching text in the SfComboBox dropdown list to improve user experience and make item selection more intuitive with customizable highlighting options. -platform: Xamarin.Android +platform: xamarin.android control: SfComboBox documentation: ug --- From 08bc0c28bf6ef416da63634eb8bcb06d678994a2 Mon Sep 17 00:00:00 2001 From: TameemAnsari-SF4702 Date: Thu, 26 Jun 2025 09:59:02 +0530 Subject: [PATCH 3/4] Resolved the CI failed cases --- .../SfAutoComplete/Customizing-the-Suggestion-DropDown.md | 2 +- xamarin-android/SfAutoComplete/Getting-Started.md | 2 +- xamarin-android/SfAutoComplete/No-Result-Found.md | 2 +- .../SfAutoComplete/Various-Filter-Options-for-Suggestion.md | 2 +- xamarin-android/SfAutoComplete/Watermark.md | 2 +- xamarin-android/SfBusyIndicator/Sizing.md | 2 +- xamarin-android/SfCarousel/animation.md | 2 +- xamarin-android/SfCarousel/transformation.md | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md b/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md index e9a667a3..d572d055 100644 --- a/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md +++ b/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md @@ -1,7 +1,7 @@ --- layout: post title: Syncfusion® AutoComplete MinimumPrefixCharacters Android -description: Learn how to set the MinimumPrefixCharacter in SfAutoComplete +description: Learn how to set the MinimumPrefixCharacter property in SfAutoComplete control to define the minimum character count needed to trigger the suggestion dropdown display. platform: xamarin.android control: SfAutoComplete documentation: ug diff --git a/xamarin-android/SfAutoComplete/Getting-Started.md b/xamarin-android/SfAutoComplete/Getting-Started.md index a177543d..3ebddc2b 100644 --- a/xamarin-android/SfAutoComplete/Getting-Started.md +++ b/xamarin-android/SfAutoComplete/Getting-Started.md @@ -1,7 +1,7 @@ --- layout: post title: Syncfusion® AutoComplete Getting Started for Android -description: A quick tour for initial users on Syncfusion® SfAutoComplete control for Xamarin.Android platform +description: A quick tour and step-by-step guide for initial users to get started with Syncfusion® SfAutoComplete control implementation in Xamarin.Android platform: xamarin.android control: SfAutoComplete documentation: ug diff --git a/xamarin-android/SfAutoComplete/No-Result-Found.md b/xamarin-android/SfAutoComplete/No-Result-Found.md index b3deabdc..5661156c 100644 --- a/xamarin-android/SfAutoComplete/No-Result-Found.md +++ b/xamarin-android/SfAutoComplete/No-Result-Found.md @@ -1,7 +1,7 @@ --- layout: post title: Syncfusion® SfAutoComplete No Results Found Text Android -description: Learn how to display and customize the no results found text in SfAutoComplete +description: Learn how to display and customize the no results found text in SfAutoComplete control when search queries return no matching results. platform: xamarin.android control: SfAutoComplete documentation: ug diff --git a/xamarin-android/SfAutoComplete/Various-Filter-Options-for-Suggestion.md b/xamarin-android/SfAutoComplete/Various-Filter-Options-for-Suggestion.md index 5143f77a..3195e42e 100644 --- a/xamarin-android/SfAutoComplete/Various-Filter-Options-for-Suggestion.md +++ b/xamarin-android/SfAutoComplete/Various-Filter-Options-for-Suggestion.md @@ -1,7 +1,7 @@ --- layout: post title: Syncfusion® AutoComplete Filter Options for Suggestion -description: Learn how to configure various filter options and suggestion modes in SfAutoComplete +description: Learn how to configure various filter options and suggestion modes in SfAutoComplete control to enhance search functionality and user experience. platform: xamarin.android control: SfAutoComplete documentation: ug diff --git a/xamarin-android/SfAutoComplete/Watermark.md b/xamarin-android/SfAutoComplete/Watermark.md index 59be4f2e..fa7c13f9 100644 --- a/xamarin-android/SfAutoComplete/Watermark.md +++ b/xamarin-android/SfAutoComplete/Watermark.md @@ -1,7 +1,7 @@ --- layout: post title: Watermark in Syncfusion® AutoComplete for Xamarin.Android -description: Learn how to set and customize the watermark text in SfAutoComplete +description: Learn how to set and customize the watermark text in SfAutoComplete control to provide helpful placeholder guidance for users. platform: xamarin.android control: SfAutoComplete documentation: ug diff --git a/xamarin-android/SfBusyIndicator/Sizing.md b/xamarin-android/SfBusyIndicator/Sizing.md index 4f6fe278..3d00d5b4 100644 --- a/xamarin-android/SfBusyIndicator/Sizing.md +++ b/xamarin-android/SfBusyIndicator/Sizing.md @@ -1,7 +1,7 @@ --- layout: post title: Sizing support in Syncfusion® BusyIndicator for Xamarin.Android -description: Learn how to customize the size and dimensions of the BusyIndicator animation for optimal display +description: Learn how to customize the size and dimensions of the BusyIndicator animation control for optimal display across different screen sizes and layouts. platform: xamarin.android control: SfBusyIndicator documentation: ug diff --git a/xamarin-android/SfCarousel/animation.md b/xamarin-android/SfCarousel/animation.md index 2e12830c..f32d51c4 100644 --- a/xamarin-android/SfCarousel/animation.md +++ b/xamarin-android/SfCarousel/animation.md @@ -1,6 +1,6 @@ --- layout: post -title: Setting animation duration in Xamarin.Android Carousel +title: Setting Syncfusion® Carousel animation duration in Xamarin.Android description: Learn how to set the duration for animation in Carousel for Xamarin.Android and customize timing properties platform: xamarin.android control: SfCarousel diff --git a/xamarin-android/SfCarousel/transformation.md b/xamarin-android/SfCarousel/transformation.md index 7597dc10..d5383a01 100644 --- a/xamarin-android/SfCarousel/transformation.md +++ b/xamarin-android/SfCarousel/transformation.md @@ -1,7 +1,7 @@ --- layout: post title: Transformation in Syncfusion® Carousel control in Xamarin.Android -description: Learn how to set the Transformation in Carousel for Xamarin.Android and customize visual effects +description: Learn how to implement Transformation settings in Carousel control for Xamarin.Android and customize advanced visual effects and transitions. platform: xamarin.android control: SfCarousel documentation: ug From ea3575544541395c834db1fb8be5fea40209c3d2 Mon Sep 17 00:00:00 2001 From: TameemAnsari-SF4702 Date: Thu, 26 Jun 2025 11:37:02 +0530 Subject: [PATCH 4/4] Resolved the CI failed cases --- .../Customizing-the-Suggestion-DropDown.md | 2 +- .../SfBusyIndicator/AnimationType.md | 2 +- .../SfBusyIndicator/images/Ball.png | Bin 159563 -> 53615 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md b/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md index d572d055..72e78180 100644 --- a/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md +++ b/xamarin-android/SfAutoComplete/Customizing-the-Suggestion-DropDown.md @@ -1,7 +1,7 @@ --- layout: post title: Syncfusion® AutoComplete MinimumPrefixCharacters Android -description: Learn how to set the MinimumPrefixCharacter property in SfAutoComplete control to define the minimum character count needed to trigger the suggestion dropdown display. +description: Learn how to set MinimumPrefixCharacter property in SfAutoComplete to define minimum characters needed for suggestion dropdown display. platform: xamarin.android control: SfAutoComplete documentation: ug diff --git a/xamarin-android/SfBusyIndicator/AnimationType.md b/xamarin-android/SfBusyIndicator/AnimationType.md index 9c1c0b8c..88cf6b4a 100644 --- a/xamarin-android/SfBusyIndicator/AnimationType.md +++ b/xamarin-android/SfBusyIndicator/AnimationType.md @@ -23,6 +23,6 @@ The `AnimationType` property of SfBusyIndicator allows you to set any of the bui N> For getting animation types of SfBusyIndicator, need to add the `using Com.Syncfusion.Sfbusyindicator.Enums` namespace. -![Image of Ball animation type](images/Ball.png){:width="300px"} +![Image of Ball animation type](images/Ball.png) diff --git a/xamarin-android/SfBusyIndicator/images/Ball.png b/xamarin-android/SfBusyIndicator/images/Ball.png index 655cb216fbd68b528e950d074f5dae18e52c2fdd..c86cef49b10b4c5999fb8c9f624bdb928f3e39bc 100644 GIT binary patch literal 53615 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 literal 159563 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

^87q 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 z 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 Ns47AfO65%8{|k;5e!>6%