FFImageLoading Terms And Condition - xamarin.forms

Is FFImageLoading Open Source or if i am using it then will it use my personal data?
This is my code for image loading:
<StackLayout x:Name="stackFrontImage" Padding="0" HeightRequest="100" Spacing="0" Margin="10" IsVisible="True">
<ffimageloading:SvgCachedImage HeightRequest="100"
HorizontalOptions="FillAndExpand"
VerticalOptions="Center"
Aspect="AspectFill"
x:Name="imageWave"
Source="outlet.gif"
Margin="0"
LoadingPlaceholder="imageWave1"
Finish="ImageWave_Finish"
DownloadStarted="ImageWave_DownloadStarted"/>
</StackLayout>
Please tell me about it's Terms and Policies.

FFImageLoading is a Crossplatform XF library developed by Daniel luberda and Fabien Molinet
Now when you read their License agreement you will note that they do not save any kind of personal data of any sort, also it is clearly mentioned that they are not liable for any issues you face while using their library
I hope this helps

Related

Xamarin.Forms CollectionView trigger event on Focus/Hover

I'm currently attempting to implement a Xamarin.Forms application which will be targeting Android TV. I have simplified my application to show the specific issue I'm having.
I have a collection of items which which I am displaying via a CollectionView. I am able to scroll around items inside this CollectionView using the D-Pad controls absolutely fine, as can be seen via this screenshot, where the "focussed"/"selected" item is visible if I make the layout bounds visible.
There is nothing available except the "ItemSelected" event on the CollectionView which only occurs on actually pressing enter. I have tried to add in "Focus" events to all the elements that make up this page and nothing gets triggered. I am unsure what exactly is being "focussed" upon here.
This is my page:
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:viewmodels="clr-namespace:Channels.ViewModels"
x:Class="Channels.MainPage"
x:DataType="viewmodels:ChannelViewModel"
BackgroundColor="{DynamicResource BackgroundColour}">
<StackLayout Orientation="Vertical" Padding="10">
<Label Text="Selected Item" TextColor="White" Margin="0, 0, 10, 10"></Label>
<CollectionView ItemsSource="{Binding Data}">
<CollectionView.ItemsLayout>
<LinearItemsLayout ItemSpacing="5"></LinearItemsLayout>
</CollectionView.ItemsLayout>
<CollectionView.ItemTemplate>
<DataTemplate>
<StackLayout Padding="5" Spacing="5" BackgroundColor="Red">
<Label Text="Test Text" HorizontalTextAlignment="Center" HorizontalOptions="FillAndExpand" TextColor="White"></Label>
</StackLayout>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</StackLayout>
</ContentPage>
I would like to know exactly what is getting focus here and if it is possible to do something like I have stated.
I haven't found many examples of Xamarin being used in terms of Android TV so it might not be possible to do things like this. I have also tried implementing the same code in .NET Maui and cannot find any events that might work here.
You could use the GestureRecognizers in the template to triger what you want to do when you selected the item or click on the item.
<Label>
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped"/>
</Label.GestureRecognizers>
</Label>

CollectionView issue mixing grouping with GridItemsLayout

I'm trying to implement a Xamarin Forms CollectionView using Grouping and GridItemsLayout vertical mode and Span="2". I make the grouping work without problems, but when I add the GridItemsLayout with the Span set to 2 columns, it does not behave as it should. Still showing the collection as 1 column.
<CollectionView
Grid.Row="1"
IsVisible="{Binding VisibleCollection}"
IsGrouped="True"
ItemsSource="{Binding Accounts}">
<CollectionView.GroupHeaderTemplate>
<DataTemplate>
<Label
FontSize="16"
Text="{Binding Name}" />
</DataTemplate>
</CollectionView.GroupHeaderTemplate>
<CollectionView.ItemsLayout>
<GridItemsLayout
Orientation="Vertical"
Span="2"
VerticalItemSpacing="10" />
</CollectionView.ItemsLayout>
<CollectionView.ItemTemplate>
<DataTemplate>
<Label BackgroundColor="Red" Text="TEST" />
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
Label "TEST" still showing in 1 single column, and I want it to be shown as 2 columns:
TEST TEST
instead of:
TEST
TEST
Anyone knows how I can make it possible with GridItemsLayout? btw, this issue is happenning on UWP
Label "TEST" still showing in 1 single column, and I want it to be shown as 2 columns
Thanks for taking time to report this problem, for my testing the problem occurs in Xamarin Forms earlier version, and it is fixed in current stable version. Please update your Xamarin.Forms Nuget Package version to 4.5.0.530 . And please note CollectionView is available on iOS and Android, but is only partially available on the Universal Windows Platform. For more info please refer this document.
The problem comes when the collection view is initially "hide" and switching visibility.
Xamarin forms issue: https://github.com/xamarin/Xamarin.Forms/issues/9079
Try to set GridItemsLayout from main thread.
Example
Device.BeginInvokeOnMainThread(() =>
{
BannerList.ItemsLayout = new GridItemsLayout(2,ItemsLayoutOrientation.Vertical);
BannerList.ItemsSource = ImageList;
});
This is worked for me.

Type ImageButton not found in xmlns Xamarin Forms

Refer to this documention
The ImageButton displays an image and responds to a tap or click that
directs an application to carry out a particular task.
Error: Type ImageButton not found in xmlns in this code:
<Grid>
<ImageButton Source="XamarinLogo.png"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
<Image Source="word.png" Aspect="Fill"/>
<Label HorizontalOptions="Fill" VerticalOptions="Fill" FontSize="20" TextColor="{Binding TextColor}"
XAlign="Center" YAlign="Center" Text="{Binding Word}" BackgroundColor="{Binding BoxColor}"/>
</Grid>
As deduced from the comments, you are using an older version of Xamarin.Forms. You should upgrade your packages to at least version 3.4, which is the version that introduced the ImageButton control.
The Prism version, in this case, is not of importance.
The ImageButton is only available in Xamarin.Forms 3.4.
Check your version, most likely is outdated and ImageButton is not available in lower versions

Paged Datagrid using Syncfusion in Xamarin.Forms

I am trying to display a paged grid using MVVM architecture and Syncfusion controls. I managed to do just that using SfDataGrid in UWP, but I can't seem to get it right in Xamarin.Forms.
If I do not use the pager, the lines appear in the grid. (please see code below)
<xForms:SfDataGrid
x:Name="datagrid"
AutoGenerateColumns="False"
ItemsSource="{Binding Lines}"
ColumnSizer="Star"
DefaultColumnWidth="200"
Columns="{Binding GridColumns, Mode=TwoWay}" />
But when I try to use the pager like this:
<xForms:SfDataGrid
x:Name="datagrid"
AutoGenerateColumns="False"
ItemsSource="{Binding PagedSource, Source={x:Reference Name=dataPager}}"
ColumnSizer="Star"
DefaultColumnWidth="200"
Columns="{Binding GridColumns, Mode=TwoWay}" />
<dataPager:SfDataPager
Source="{Binding Lines, Mode=TwoWay}"
x:Name="dataPager"
Margin="5" Grid.Row="1" PageSize="7"
HorizontalOptions="FillAndExpand" />
I get the following result: the Grid is empty, no exception is thrown and I can not find any binding errors in the output.
Also, I think the paging example in the official Syncfusion documentation might be incomplete, since it states that a binding must be done between the ItemsSource of the Grid and the Source of the Pager, but this does not appear in the xaml code sample presented there.
https://help.syncfusion.com/xamarin/sfdatagrid/paging?cs-save-lang=1&cs-lang=csharp
Is it something that I am missing or do I need to use code behind to make it work?
Thanks for using Syncfusion Product.
We checked your query and the code shared, you need to set the Source of Binding, while setting value to the “SfDataGrid.Columns” property. Please find the code snippet of the same below.
<ContentPage.BindingContext>
<local:ViewModel x:Name="viewModel" />
</ContentPage.BindingContext>
<ContentPage.Content>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<sfgrid:SfDataGrid x:Name="sfGrid"
Grid.Row="0"
AutoGenerateColumns="False"
ColumnSizer="Star"
DefaultColumnWidth="200"
ItemsSource="{Binding PagedSource, Source={x:ReferencedataPager}}"
Columns="{Binding GridColumns, Source={x:ReferenceviewModel}}"
/>
<sfpager:SfDataPager x:Name ="dataPager"
Margin="5"
HorizontalOptions="FillAndExpand"
Grid.Row="1"
PageSize="7"
HeightRequest ="50"
Source="{Binding OrdersInfo}"
/>
</Grid>
</ContentPage.Content>
We have prepared the sample to achieve your requirement, you can download the same from the below link.
Sample Link: http://www.syncfusion.com/downloads/support/directtrac/221044/ze/DataGridDemo-741889615
Regarding your query on documentation of the XAML code “Binding must be done between the ItemsSource of the Grid and the Source of the Pager”, we will update the XAML code of the documentation.
Regards,
Vigneshkumar R

Carousel View is not showing in Windows Phone 8.1 in Xamarin.Forms

I have added "**CarouselView.FormsPlugin.Abstractions.dll**" file to WindowsPhone platform in VisualStudio.
And In PCL, I have added the code for CarouselView as follows :
<Grid Grid.Row="0">
<carusalView:CarouselViewControl Orientation="Horizontal"
InterPageSpacing="10"
Position="0"
VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand"
x:Name="CarosoulItem"
ShowIndicators="False"
IndicatorsShape="Circle"
PageIndicatorTintColor="Yellow"
CurrentPageIndicatorTintColor="Green">
<carusalView:CarouselViewControl.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Image}" HeightRequest="200" Aspect="AspectFill"/>
</DataTemplate>
</carusalView:CarouselViewControl.ItemTemplate>
</carusalView:CarouselViewControl>
</Grid>
In Android and IOS, Here also I have downloaded Carousel from Nuget Package Manager. Carousel is working here.
But, For Windows also I did Same thing. Here its not showing Carousel.
****NOTE:I am not using UWP.
So, please anyone find the solution for this?

Resources