Conflicts:
	src/FormsCommunityToolkit.Effects/FormsCommunityToolkit.Effects.Droid/Effects/ChangeColorSwitchEffect.cs
	src/FormsCommunityToolkit.Effects/FormsCommunityToolkit.Effects.Droid/FormsCommunityToolkit.Effects.Droid.csproj
	src/FormsCommunityToolkit.Effects/FormsCommunityToolkit.Effects.Droid/packages.config
	src/FormsCommunityToolkit.Effects/FormsCommunityToolkit.Effects.UWP/FormsCommunityToolkit.Effects.UWP.csproj
	src/FormsCommunityToolkit.Effects/FormsCommunityToolkit.Effects.iOS/FormsCommunityToolkit.Effects.iOS.csproj
	src/FormsCommunityToolkit.Effects/FormsCommunityToolkit.Effects.iOS/packages.config
	src/FormsCommunityToolkit.Effects/FormsCommunityToolkit.Effects/FormsCommunityToolkit.Effects.csproj
	src/FormsCommunityToolkit.Effects/FormsCommunityToolkit.Effects/SelectAllTextEntryEffect.cs
	src/FormsCommunityToolkit.Effects/FormsCommunityToolkit.Effects/packages.config
	src/SampleApp/Effects.SampleApp.Droid/Effects.SampleApp.Droid.csproj
	src/SampleApp/Effects.SampleApp.Droid/packages.config
	src/SampleApp/Effects.SampleApp.iOS/Effects.SampleApp.iOS.csproj
	src/SampleApp/Effects.SampleApp.iOS/packages.config
	src/SampleApp/Effects.SampleApp/Effects.SampleApp.csproj
	src/SampleApp/Effects.SampleApp/Views/MainPage.xaml
	src/SampleApp/Effects.SampleApp/Views/MainPage.xaml.cs
	src/SampleApp/Effects.SampleApp/packages.config
This commit is contained in:
Bart Lannoeye 2017-01-18 20:25:01 +01:00
Родитель 23bd66d12c 83838b70cc
Коммит da6e8c7d57
174 изменённых файлов: 6796 добавлений и 53202 удалений

Просмотреть файл

@ -10,12 +10,12 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>FormsCommunityToolkit.Effects.Droid</RootNamespace>
<AssemblyName>FormsCommunityToolkit.Effects.Droid</AssemblyName>
<AssemblyName>FormsCommunityToolkit.Effects.Android</AssemblyName>
<FileAlignment>512</FileAlignment>
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
<TargetFrameworkVersion>v7.0</TargetFrameworkVersion>
<AndroidUseLatestPlatformSdk>False</AndroidUseLatestPlatformSdk>
<TargetFrameworkVersion>v6.0</TargetFrameworkVersion>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<AndroidTlsProvider>
@ -37,6 +37,7 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Release\FormsCommunityToolkit.Effects.Android.XML</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="Mono.Android" />
@ -46,54 +47,55 @@
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Xml" />
<Reference Include="Xamarin.Android.Support.Animated.Vector.Drawable, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Animated.Vector.Drawable.dll</HintPath>
<HintPath>..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Animated.Vector.Drawable.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.Design, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.Design.23.3.0\lib\MonoAndroid43\Xamarin.Android.Support.Design.dll</HintPath>
<HintPath>..\packages\Xamarin.Android.Support.Design.23.3.0\lib\MonoAndroid43\Xamarin.Android.Support.Design.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v4.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll</HintPath>
<HintPath>..\packages\Xamarin.Android.Support.v4.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.AppCompat, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.AppCompat.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll</HintPath>
<HintPath>..\packages\Xamarin.Android.Support.v7.AppCompat.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.CardView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.CardView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.CardView.dll</HintPath>
<HintPath>..\packages\Xamarin.Android.Support.v7.CardView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.CardView.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.MediaRouter, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.MediaRouter.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.MediaRouter.dll</HintPath>
<HintPath>..\packages\Xamarin.Android.Support.v7.MediaRouter.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.MediaRouter.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.RecyclerView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.RecyclerView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.RecyclerView.dll</HintPath>
<HintPath>..\packages\Xamarin.Android.Support.v7.RecyclerView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.RecyclerView.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.Vector.Drawable, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Vector.Drawable.dll</HintPath>
<HintPath>..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Vector.Drawable.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FormsViewGroup">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\MonoAndroid10\FormsViewGroup.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\FormsViewGroup.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Core">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\MonoAndroid10\Xamarin.Forms.Core.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Core.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Platform.Android">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Platform">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\MonoAndroid10\Xamarin.Forms.Platform.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Platform.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Xaml">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Effects.cs" />
<Compile Include="Effects\ChangeColorSwitchEffect.cs" />
<Compile Include="Effects\ClearEntryEffect.cs" />
<Compile Include="Effects\MultiLineLabelEffect.cs" />
@ -113,48 +115,33 @@
<None Include="Resources\AboutResources.txt" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\Values\Strings.xml" />
<AndroidResource Include="Resources\drawable-hdpi\fct_ic_clear_icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable\icon.png" />
<AndroidResource Include="Resources\drawable-mdpi\fct_ic_clear_icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-hdpi\ic_clear_icon.png" />
<AndroidResource Include="Resources\drawable-xhdpi\fct_ic_clear_icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-hdpi\icon.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\fct_ic_clear_icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-mdpi\ic_clear_icon.png" />
<AndroidResource Include="Resources\drawable-xxxhdpi\fct_ic_clear_icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xhdpi\ic_clear_icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xhdpi\icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxhdpi\ic_clear_icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxhdpi\icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxxhdpi\ic_clear_icon.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects.csproj">
<Project>{67f9d3a8-f71e-4428-913f-c37ae82cdb24}</Project>
<Name>FormsCommunityToolkit.Effects</Name>
<ProjectReference Include="..\Effects\Effects.csproj">
<Project>{67F9D3A8-F71E-4428-913F-C37AE82CDB24}</Project>
<Name>Effects</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
<Import Project="..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" />
<Import Project="..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets'))" />
<Error Condition="!Exists('..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets'))" />
</Target>
<Import Project="..\..\packages\Xamarin.Forms.2.3.3.175\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.3.3.175\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets')" />
<Import Project="..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
</Project>

Просмотреть файл

@ -0,0 +1,24 @@
using System.Collections.Generic;
using System.Linq;
using Xamarin.Forms.Platform.Android;
using System;
using Android.Runtime;
namespace FormsCommunityToolkit.Effects.Droid
{
[Preserve(AllMembers = true)]
public static class Effects
{
#pragma warning disable 414
static List<PlatformEffect> allEffects = new List<PlatformEffect>();
#pragma warning restore 414
/// <summary>
/// This is needed to ensure iOS loads the assembly with the effects in it
/// </summary>
public static void Init()
{
allEffects = new List<PlatformEffect>(typeof(Effects).Assembly.GetTypes().Where(t => typeof(PlatformEffect).IsAssignableFrom(t)).Select(t => (PlatformEffect)Activator.CreateInstance(t)));
}
}
}

Просмотреть файл

@ -0,0 +1,45 @@
using Android.Text;
using Android.Widget;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
using FormsCommunityToolkit.Effects.Droid;
using Android.Runtime;
using System.Linq;
[assembly: ExportEffect(typeof(CapitalizeKeyboardEffect), nameof(CapitalizeKeyboardEffect))]
namespace FormsCommunityToolkit.Effects.Droid
{
[Preserve(AllMembers = true)]
public class CapitalizeKeyboardEffect : PlatformEffect
{
InputTypes old;
IInputFilter[] oldFilters;
protected override void OnAttached()
{
var editText = Control as EditText;
if (editText == null)
return;
old = editText.InputType;
oldFilters = editText.GetFilters().ToArray();
editText.SetRawInputType(InputTypes.ClassText | InputTypes.TextFlagCapCharacters);
var newFilters = oldFilters.ToList();
newFilters.Add(new InputFilterAllCaps());
editText.SetFilters(newFilters.ToArray());
}
protected override void OnDetached()
{
var editText = Control as EditText;
if (editText == null)
return;
editText.SetRawInputType(old);
editText.SetFilters(oldFilters);
}
}
}

Просмотреть файл

@ -1,35 +1,40 @@
using System;
using Android.App;
using Android.Content.Res;
using Android.Graphics;
using Android.Graphics.Drawables;
using Android.Runtime;
using Android.Support.V7.Widget;
using Android.Widget;
using FormsCommunityToolkit.Effects.Droid.Effects;
using FormsCommunityToolkit.Effects.Droid;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
using Color = Xamarin.Forms.Color;
using Switch = Android.Widget.Switch;
[assembly: ExportEffect(typeof(ChangeColorSwitchEffect), nameof(ChangeColorSwitchEffect))]
namespace FormsCommunityToolkit.Effects.Droid.Effects
namespace FormsCommunityToolkit.Effects.Droid
{
/// <summary>
/// http://stackoverflow.com/questions/11253512/change-on-color-of-a-switch
/// </summary>
[Preserve (AllMembers = true)]
/// <summary>
/// http://stackoverflow.com/questions/11253512/change-on-color-of-a-switch
/// </summary>
[Preserve(AllMembers = true)]
public class ChangeColorSwitchEffect : PlatformEffect
{
private Color _trueColor;
private Color _falseColor;
Color trueColor;
Color falseColor;
protected override void OnAttached ()
protected override void OnAttached()
{
if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.JellyBean) {
_trueColor = (Color)Element.GetValue (ChangeColorEffect.TrueColorProperty);
_falseColor = (Color)Element.GetValue (ChangeColorEffect.FalseColorProperty);
if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.JellyBean)
{
trueColor = (Color)Element.GetValue(ChangeColorEffect.TrueColorProperty);
falseColor = (Color)Element.GetValue(ChangeColorEffect.FalseColorProperty);
((SwitchCompat)Control).CheckedChange += OnCheckedChange;
//Supported formats for Parse are: #RRGGBB #AARRGGBB 'red', 'blue', 'green', 'black', 'white', 'gray', 'cyan', 'magenta', 'yellow', 'lightgray', 'darkgray'
((SwitchCompat)Control).ThumbDrawable.SetColorFilter (_falseColor.ToAndroid (), PorterDuff.Mode.Multiply);
((SwitchCompat)Control).ThumbDrawable.SetColorFilter(falseColor.ToAndroid(), PorterDuff.Mode.Multiply);
}
//TODO: Glenn - From lollipop mr1 you can also use the TintList instead of working with events... not sure what the best approach is
@ -53,20 +58,24 @@ namespace FormsCommunityToolkit.Effects.Droid.Effects
//}
}
private void OnCheckedChange (object sender, CompoundButton.CheckedChangeEventArgs checkedChangeEventArgs)
private void OnCheckedChange(object sender, CompoundButton.CheckedChangeEventArgs checkedChangeEventArgs)
{
if (checkedChangeEventArgs.IsChecked) {
((SwitchCompat)Control).ThumbDrawable.SetColorFilter (_trueColor.ToAndroid (), PorterDuff.Mode.Multiply);
if (checkedChangeEventArgs.IsChecked)
{
((SwitchCompat)Control).ThumbDrawable.SetColorFilter(trueColor.ToAndroid(), PorterDuff.Mode.Multiply);
//((SwitchCompat) Control).TrackDrawable.SetColorFilter(Android.Graphics.Color.Green, PorterDuff.Mode.Multiply);
} else {
((SwitchCompat)Control).ThumbDrawable.SetColorFilter (_falseColor.ToAndroid (), PorterDuff.Mode.Multiply);
}
else
{
((SwitchCompat)Control).ThumbDrawable.SetColorFilter(falseColor.ToAndroid(), PorterDuff.Mode.Multiply);
//((SwitchCompat)Control).TrackDrawable.SetColorFilter(Android.Graphics.Color.Green, PorterDuff.Mode.Multiply);
}
}
protected override void OnDetached ()
protected override void OnDetached()
{
if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.JellyBean && Android.OS.Build.VERSION.SdkInt < Android.OS.BuildVersionCodes.LollipopMr1) {
if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.JellyBean && Android.OS.Build.VERSION.SdkInt < Android.OS.BuildVersionCodes.LollipopMr1)
{
((Switch)Control).CheckedChange -= OnCheckedChange;
}
}

Просмотреть файл

@ -1,12 +1,12 @@
using Android.Runtime;
using Android.Views;
using Android.Widget;
using FormsCommunityToolkit.Effects.Droid.Effects;
using FormsCommunityToolkit.Effects.Droid;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
[assembly: ExportEffect(typeof(ClearEntryEffect), nameof(ClearEntryEffect))]
namespace FormsCommunityToolkit.Effects.Droid.Effects
namespace FormsCommunityToolkit.Effects.Droid
{
[Preserve(AllMembers = true)]
public class ClearEntryEffect : PlatformEffect
@ -23,8 +23,10 @@ namespace FormsCommunityToolkit.Effects.Droid.Effects
private void ConfigureControl()
{
var editText = Control as EditText;
if (editText == null) return;
editText.SetCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, Resource.Drawable.ic_clear_icon, 0);
if (editText == null)
return;
editText.SetCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, Resource.Drawable.fct_ic_clear_icon, 0);
editText.SetOnTouchListener(new OnDrawableTouchListener());
}
}

Просмотреть файл

@ -5,26 +5,29 @@ using FormsCommunityToolkit.Effects.Droid;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
[assembly: ExportEffect (typeof (CustomFontEffect), nameof (CustomFontEffect))]
[assembly: ExportEffect(typeof(CustomFontEffect), nameof(CustomFontEffect))]
namespace FormsCommunityToolkit.Effects.Droid
{
public class CustomFontEffect : PlatformEffect
{
protected override void OnAttached ()
protected override void OnAttached()
{
var control = Control as TextView;
if (control != null) {
var effect = (FormsCommunityToolkit.Effects.CustomFontEffect)Element.Effects.FirstOrDefault (item => item is FormsCommunityToolkit.Effects.CustomFontEffect);
if (effect != null && !string.IsNullOrWhiteSpace (effect.FontPath)) {
var font = Typeface.CreateFromAsset (Forms.Context.Assets, effect.FontPath);
if (control == null)
return;
else
{
var effect = (FormsCommunityToolkit.Effects.CustomFontEffect)Element.Effects.FirstOrDefault(item => item is FormsCommunityToolkit.Effects.CustomFontEffect);
if (effect != null && !string.IsNullOrWhiteSpace(effect.FontPath))
{
var font = Typeface.CreateFromAsset(Forms.Context.Assets, effect.FontPath);
control.Typeface = font;
}
}
}
protected override void OnDetached ()
protected override void OnDetached()
{
}
}

Просмотреть файл

@ -0,0 +1,35 @@
using System;
using Android.Widget;
using FormsCommunityToolkit.Effects.Droid;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
[assembly: ExportEffect(typeof(DisableAutoCorrectEffect), nameof(DisableAutoCorrectEffect))]
namespace FormsCommunityToolkit.Effects.Droid
{
public class DisableAutoCorrectEffect : PlatformEffect
{
Android.Text.InputTypes old;
protected override void OnAttached()
{
var editText = Control as EditText;
if (editText == null)
return;
old = editText.InputType;
editText.InputType = editText.InputType | Android.Text.InputTypes.TextFlagNoSuggestions;
}
protected override void OnDetached()
{
var editText = Control as EditText;
if (editText == null)
return;
editText.InputType = old;
}
}
}

Просмотреть файл

@ -0,0 +1,32 @@
using System.Linq;
using Android.Widget;
using FormsCommunityToolkit.Effects.Droid;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
[assembly: ExportEffect(typeof(MultiLineLabelEffect), nameof(MultiLineLabelEffect))]
namespace FormsCommunityToolkit.Effects.Droid
{
public class MultiLineLabelEffect : PlatformEffect
{
protected override void OnAttached()
{
var control = Control as TextView;
if (control == null)
return;
var effect = (FormsCommunityToolkit.Effects.MultiLineLabelEffect)Element.Effects.FirstOrDefault(item => item is FormsCommunityToolkit.Effects.MultiLineLabelEffect);
if (effect != null && effect.Lines > 0)
{
control.SetSingleLine(false);
control.SetLines(effect.Lines);
}
}
protected override void OnDetached()
{
//TODO: Glenn - Reset to old amount of Lines and old SingleLine value
}
}
}

Просмотреть файл

@ -1,11 +1,11 @@
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
using FormsCommunityToolkit.Effects.Droid.Effects;
using FormsCommunityToolkit.Effects.Droid;
using Android.Runtime;
[assembly: ExportEffect(typeof(RemoveBorderEffect), nameof(RemoveBorderEffect))]
namespace FormsCommunityToolkit.Effects.Droid.Effects
namespace FormsCommunityToolkit.Effects.Droid
{
[Preserve(AllMembers = true)]
public class RemoveBorderEffect : PlatformEffect

Просмотреть файл

@ -2,12 +2,12 @@ using Android.Graphics;
using Android.Graphics.Drawables;
using Android.Graphics.Drawables.Shapes;
using Android.Runtime;
using FormsCommunityToolkit.Effects.Droid.Effects;
using FormsCommunityToolkit.Effects.Droid;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
[assembly: ExportEffect(typeof(RemoveEntryLineEffect), nameof(RemoveEntryLineEffect))]
namespace FormsCommunityToolkit.Effects.Droid.Effects
namespace FormsCommunityToolkit.Effects.Droid
{
[Preserve(AllMembers = true)]
public class RemoveEntryLineEffect : PlatformEffect

Просмотреть файл

@ -0,0 +1,35 @@
using Android.Text;
using Android.Widget;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
using FormsCommunityToolkit.Effects.Droid;
using Android.Runtime;
using System.Linq;
[assembly: ExportEffect(typeof(SelectAllTextEntryEffect), nameof(SelectAllTextEntryEffect))]
namespace FormsCommunityToolkit.Effects.Droid
{
[Preserve(AllMembers = true)]
public class SelectAllTextEntryEffect : PlatformEffect
{
protected override void OnAttached()
{
var editText = Control as EditText;
if (editText == null)
return;
editText.SetSelectAllOnFocus(true);
}
protected override void OnDetached()
{
var editText = Control as EditText;
if (editText == null)
return;
editText.SetSelectAllOnFocus(false);
}
}
}

Просмотреть файл

@ -1,6 +1,6 @@
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
using FormsCommunityToolkit.Effects.Droid.Effects;
using FormsCommunityToolkit.Effects.Droid;
using Android.Runtime;
using Android.Widget;
using Android.Graphics;
@ -9,28 +9,28 @@ using Android.Content;
[assembly: ExportEffect(typeof(SizeFontToFitEffect), nameof(SizeFontToFitEffect))]
namespace FormsCommunityToolkit.Effects.Droid.Effects
namespace FormsCommunityToolkit.Effects.Droid
{
class ShrinkTextOnLayoutChangeListener : Java.Lang.Object, Android.Views.View.IOnLayoutChangeListener
{
private const string TextMeasure = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
private const float Threshold = 0.5f; // How close we have to be
const string TextMeasure = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
const float Threshold = 0.5f; // How close we have to be
private readonly TextView _textView;
readonly TextView textView;
public ShrinkTextOnLayoutChangeListener(TextView textView) : base()
{
_textView = textView;
this.textView = textView;
}
public void OnLayoutChange(Android.Views.View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom)
{
if (_textView.Width <= 0 || _textView.Height <= 0) return;
if (textView.Width <= 0 || textView.Height <= 0) return;
var hi = ConvertSpToPixels(_textView.TextSize, _textView.Context);
var hi = ConvertSpToPixels(textView.TextSize, textView.Context);
var lo = 1f;
var paint = new Paint(_textView.Paint);
var paint = new Paint(textView.Paint);
var bounds = new Rect();
while ((hi - lo) > Threshold)
@ -39,36 +39,40 @@ namespace FormsCommunityToolkit.Effects.Droid.Effects
paint.TextSize = size;
paint.GetTextBounds(TextMeasure, 0, TextMeasure.Length, bounds);
if (paint.MeasureText(_textView.Text) >= _textView.Width || bounds.Height() >= _textView.Height)
if (paint.MeasureText(textView.Text) >= textView.Width || bounds.Height() >= textView.Height)
hi = size; // too big
else
lo = size; // too small
}
_textView.SetTextSize(ComplexUnitType.Px, lo);
textView.SetTextSize(ComplexUnitType.Px, lo);
}
private static float ConvertSpToPixels(float sp, Context context) => TypedValue.ApplyDimension(ComplexUnitType.Px, sp, context.Resources.DisplayMetrics);
static float ConvertSpToPixels(float sp, Context context) => TypedValue.ApplyDimension(ComplexUnitType.Px, sp, context.Resources.DisplayMetrics);
}
[Preserve(AllMembers = true)]
public class SizeFontToFitEffect : PlatformEffect
{
private ShrinkTextOnLayoutChangeListener _listener;
ShrinkTextOnLayoutChangeListener _listener;
protected override void OnAttached()
{
var textView = Control as TextView;
if (textView != null)
textView.AddOnLayoutChangeListener(_listener = new ShrinkTextOnLayoutChangeListener(textView));
if (textView == null)
return;
textView.AddOnLayoutChangeListener(_listener = new ShrinkTextOnLayoutChangeListener(textView));
}
protected override void OnDetached()
{
var textView = Control as TextView;
if (textView != null)
textView.RemoveOnLayoutChangeListener(_listener);
if (textView == null)
return;
textView.RemoveOnLayoutChangeListener(_listener);
}
}
}

5910
Effects.Android/Resources/Resource.Designer.cs сгенерированный Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.1 KiB

После

Ширина:  |  Высота:  |  Размер: 1.1 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 768 B

После

Ширина:  |  Высота:  |  Размер: 768 B

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 1.6 KiB

После

Ширина:  |  Высота:  |  Размер: 1.6 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 2.5 KiB

После

Ширина:  |  Высота:  |  Размер: 2.5 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 3.3 KiB

После

Ширина:  |  Высота:  |  Размер: 3.3 KiB

Просмотреть файл

@ -8,5 +8,5 @@
<package id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0" targetFramework="monoandroid70" />
<package id="Xamarin.Android.Support.v7.RecyclerView" version="23.3.0" targetFramework="monoandroid70" />
<package id="Xamarin.Android.Support.Vector.Drawable" version="23.3.0" targetFramework="monoandroid70" />
<package id="Xamarin.Forms" version="2.3.3.175" targetFramework="monoandroid70" />
<package id="Xamarin.Forms" version="2.3.2.127" targetFramework="monoandroid70" />
</packages>

Просмотреть файл

@ -1,468 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Effects.SampleApp", "SampleApp\Effects.SampleApp\Effects.SampleApp.csproj", "{FA490CC2-5633-4AA2-9242-FB3204BC3A00}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Effects.SampleApp.Droid", "SampleApp\Effects.SampleApp.Droid\Effects.SampleApp.Droid.csproj", "{EF351F63-9603-42E8-A289-A4F2312ACBA9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Effects.SampleApp.iOS", "SampleApp\Effects.SampleApp.iOS\Effects.SampleApp.iOS.csproj", "{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Effects.SampleApp.UWP", "SampleApp\Effects.SampleApp.UWP\Effects.SampleApp.UWP.csproj", "{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Effects", "Effects", "{2345592C-22A3-42BF-BA00-482A5ED16C03}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsCommunityToolkit.Effects", "FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects.csproj", "{67F9D3A8-F71E-4428-913F-C37AE82CDB24}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsCommunityToolkit.Effects.Droid", "FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects.Droid\FormsCommunityToolkit.Effects.Droid.csproj", "{88DC2010-BE3A-4B86-A72F-3DF68413858B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsCommunityToolkit.Effects.UWP", "FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects.UWP\FormsCommunityToolkit.Effects.UWP.csproj", "{98F91808-0410-4362-9B3A-BD5110BEECDE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsCommunityToolkit.Effects.iOS", "FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects.iOS\FormsCommunityToolkit.Effects.iOS.csproj", "{F09F8CAF-701A-4673-A880-1580ACCB926B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
Ad-Hoc|ARM = Ad-Hoc|ARM
Ad-Hoc|iPhone = Ad-Hoc|iPhone
Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator
Ad-Hoc|x64 = Ad-Hoc|x64
Ad-Hoc|x86 = Ad-Hoc|x86
AppStore|Any CPU = AppStore|Any CPU
AppStore|ARM = AppStore|ARM
AppStore|iPhone = AppStore|iPhone
AppStore|iPhoneSimulator = AppStore|iPhoneSimulator
AppStore|x64 = AppStore|x64
AppStore|x86 = AppStore|x86
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|iPhone = Debug|iPhone
Debug|iPhoneSimulator = Debug|iPhoneSimulator
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|iPhone = Release|iPhone
Release|iPhoneSimulator = Release|iPhoneSimulator
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Ad-Hoc|x64.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Ad-Hoc|x86.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.AppStore|Any CPU.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.AppStore|ARM.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.AppStore|ARM.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.AppStore|iPhone.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.AppStore|x64.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.AppStore|x64.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.AppStore|x86.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.AppStore|x86.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Debug|ARM.ActiveCfg = Debug|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Debug|ARM.Build.0 = Debug|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Debug|iPhone.Build.0 = Debug|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Debug|x64.ActiveCfg = Debug|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Debug|x64.Build.0 = Debug|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Debug|x86.ActiveCfg = Debug|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Debug|x86.Build.0 = Debug|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Release|Any CPU.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Release|ARM.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Release|ARM.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Release|iPhone.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Release|iPhone.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Release|x64.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Release|x64.Build.0 = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Release|x86.ActiveCfg = Release|Any CPU
{FA490CC2-5633-4AA2-9242-FB3204BC3A00}.Release|x86.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|ARM.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|x64.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|x64.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|x86.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Ad-Hoc|x86.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|Any CPU.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|Any CPU.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|ARM.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|ARM.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|ARM.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|iPhone.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|iPhone.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|x64.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|x64.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|x64.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|x86.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|x86.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.AppStore|x86.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|ARM.ActiveCfg = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|ARM.Build.0 = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|ARM.Deploy.0 = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|iPhone.Build.0 = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|iPhone.Deploy.0 = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|x64.ActiveCfg = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|x64.Build.0 = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|x64.Deploy.0 = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|x86.ActiveCfg = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|x86.Build.0 = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Debug|x86.Deploy.0 = Debug|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|Any CPU.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|Any CPU.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|ARM.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|ARM.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|ARM.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|iPhone.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|iPhone.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|iPhone.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|x64.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|x64.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|x64.Deploy.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|x86.ActiveCfg = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|x86.Build.0 = Release|Any CPU
{EF351F63-9603-42E8-A289-A4F2312ACBA9}.Release|x86.Deploy.0 = Release|Any CPU
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Ad-Hoc|x64.ActiveCfg = Ad-Hoc|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.AppStore|ARM.ActiveCfg = AppStore|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.AppStore|iPhone.ActiveCfg = AppStore|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.AppStore|iPhone.Build.0 = AppStore|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.AppStore|x64.ActiveCfg = AppStore|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.AppStore|x86.ActiveCfg = AppStore|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Debug|Any CPU.ActiveCfg = Debug|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Debug|ARM.ActiveCfg = Debug|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Debug|iPhone.ActiveCfg = Debug|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Debug|iPhone.Build.0 = Debug|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Debug|x64.ActiveCfg = Debug|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Debug|x86.ActiveCfg = Debug|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Release|Any CPU.ActiveCfg = Release|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Release|ARM.ActiveCfg = Release|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Release|iPhone.ActiveCfg = Release|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Release|iPhone.Build.0 = Release|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Release|x64.ActiveCfg = Release|iPhone
{6AFCE1C8-CA21-4041-8688-1785CB98CD5A}.Release|x86.ActiveCfg = Release|iPhone
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|Any CPU.ActiveCfg = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|Any CPU.Build.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|Any CPU.Deploy.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|ARM.ActiveCfg = Release|ARM
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|ARM.Build.0 = Release|ARM
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|ARM.Deploy.0 = Release|ARM
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|iPhone.ActiveCfg = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|iPhone.Build.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|iPhone.Deploy.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|x64.ActiveCfg = Release|x64
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|x64.Build.0 = Release|x64
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|x64.Deploy.0 = Release|x64
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|x86.ActiveCfg = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|x86.Build.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Ad-Hoc|x86.Deploy.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|Any CPU.ActiveCfg = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|Any CPU.Build.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|Any CPU.Deploy.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|ARM.ActiveCfg = Release|ARM
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|ARM.Build.0 = Release|ARM
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|ARM.Deploy.0 = Release|ARM
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|iPhone.ActiveCfg = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|iPhone.Build.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|iPhone.Deploy.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|iPhoneSimulator.ActiveCfg = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|iPhoneSimulator.Build.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|iPhoneSimulator.Deploy.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|x64.ActiveCfg = Release|x64
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|x64.Build.0 = Release|x64
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|x64.Deploy.0 = Release|x64
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|x86.ActiveCfg = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|x86.Build.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.AppStore|x86.Deploy.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Debug|Any CPU.ActiveCfg = Debug|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Debug|Any CPU.Build.0 = Debug|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Debug|Any CPU.Deploy.0 = Debug|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Debug|ARM.ActiveCfg = Debug|ARM
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Debug|ARM.Build.0 = Debug|ARM
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Debug|ARM.Deploy.0 = Debug|ARM
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Debug|iPhone.ActiveCfg = Debug|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Debug|x64.ActiveCfg = Debug|x64
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Debug|x64.Build.0 = Debug|x64
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Debug|x64.Deploy.0 = Debug|x64
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Debug|x86.ActiveCfg = Debug|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Debug|x86.Build.0 = Debug|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Debug|x86.Deploy.0 = Debug|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Release|Any CPU.ActiveCfg = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Release|ARM.ActiveCfg = Release|ARM
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Release|ARM.Build.0 = Release|ARM
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Release|ARM.Deploy.0 = Release|ARM
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Release|iPhone.ActiveCfg = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Release|iPhoneSimulator.ActiveCfg = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Release|x64.ActiveCfg = Release|x64
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Release|x64.Build.0 = Release|x64
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Release|x64.Deploy.0 = Release|x64
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Release|x86.ActiveCfg = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Release|x86.Build.0 = Release|x86
{EA26AFE0-C84C-40FF-B8BF-423ABB74C6BC}.Release|x86.Deploy.0 = Release|x86
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|x64.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Ad-Hoc|x86.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|Any CPU.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|ARM.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|ARM.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|iPhone.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|x64.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|x64.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|x86.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.AppStore|x86.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|Any CPU.Build.0 = Debug|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|ARM.ActiveCfg = Debug|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|ARM.Build.0 = Debug|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|iPhone.Build.0 = Debug|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|x64.ActiveCfg = Debug|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|x64.Build.0 = Debug|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|x86.ActiveCfg = Debug|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|x86.Build.0 = Debug|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|Any CPU.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|Any CPU.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|ARM.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|ARM.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|iPhone.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|iPhone.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|x64.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|x64.Build.0 = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|x86.ActiveCfg = Release|Any CPU
{67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|x86.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Ad-Hoc|x64.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Ad-Hoc|x86.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.AppStore|Any CPU.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.AppStore|ARM.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.AppStore|ARM.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.AppStore|iPhone.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.AppStore|x64.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.AppStore|x64.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.AppStore|x86.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.AppStore|x86.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Debug|ARM.ActiveCfg = Debug|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Debug|ARM.Build.0 = Debug|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Debug|iPhone.Build.0 = Debug|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Debug|x64.ActiveCfg = Debug|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Debug|x64.Build.0 = Debug|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Debug|x86.ActiveCfg = Debug|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Debug|x86.Build.0 = Debug|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Release|Any CPU.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Release|ARM.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Release|ARM.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Release|iPhone.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Release|iPhone.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Release|x64.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Release|x64.Build.0 = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Release|x86.ActiveCfg = Release|Any CPU
{88DC2010-BE3A-4B86-A72F-3DF68413858B}.Release|x86.Build.0 = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Ad-Hoc|ARM.ActiveCfg = Release|ARM
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Ad-Hoc|ARM.Build.0 = Release|ARM
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Ad-Hoc|x64.ActiveCfg = Release|x64
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Ad-Hoc|x64.Build.0 = Release|x64
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Ad-Hoc|x86.ActiveCfg = Release|x86
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Ad-Hoc|x86.Build.0 = Release|x86
{98F91808-0410-4362-9B3A-BD5110BEECDE}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.AppStore|Any CPU.Build.0 = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.AppStore|ARM.ActiveCfg = Release|ARM
{98F91808-0410-4362-9B3A-BD5110BEECDE}.AppStore|ARM.Build.0 = Release|ARM
{98F91808-0410-4362-9B3A-BD5110BEECDE}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.AppStore|iPhone.Build.0 = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.AppStore|x64.ActiveCfg = Release|x64
{98F91808-0410-4362-9B3A-BD5110BEECDE}.AppStore|x64.Build.0 = Release|x64
{98F91808-0410-4362-9B3A-BD5110BEECDE}.AppStore|x86.ActiveCfg = Release|x86
{98F91808-0410-4362-9B3A-BD5110BEECDE}.AppStore|x86.Build.0 = Release|x86
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Debug|ARM.ActiveCfg = Debug|ARM
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Debug|ARM.Build.0 = Debug|ARM
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Debug|iPhone.Build.0 = Debug|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Debug|x64.ActiveCfg = Debug|x64
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Debug|x64.Build.0 = Debug|x64
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Debug|x86.ActiveCfg = Debug|x86
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Debug|x86.Build.0 = Debug|x86
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Release|Any CPU.Build.0 = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Release|ARM.ActiveCfg = Release|ARM
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Release|ARM.Build.0 = Release|ARM
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Release|iPhone.ActiveCfg = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Release|iPhone.Build.0 = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Release|x64.ActiveCfg = Release|x64
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Release|x64.Build.0 = Release|x64
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Release|x86.ActiveCfg = Release|x86
{98F91808-0410-4362-9B3A-BD5110BEECDE}.Release|x86.Build.0 = Release|x86
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Ad-Hoc|x64.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Ad-Hoc|x86.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.AppStore|Any CPU.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.AppStore|ARM.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.AppStore|ARM.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.AppStore|iPhone.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.AppStore|x64.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.AppStore|x64.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.AppStore|x86.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.AppStore|x86.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Debug|ARM.ActiveCfg = Debug|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Debug|ARM.Build.0 = Debug|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Debug|iPhone.Build.0 = Debug|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Debug|x64.ActiveCfg = Debug|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Debug|x64.Build.0 = Debug|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Debug|x86.ActiveCfg = Debug|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Debug|x86.Build.0 = Debug|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Release|Any CPU.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Release|ARM.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Release|ARM.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Release|iPhone.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Release|iPhone.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Release|x64.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Release|x64.Build.0 = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Release|x86.ActiveCfg = Release|Any CPU
{F09F8CAF-701A-4673-A880-1580ACCB926B}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{67F9D3A8-F71E-4428-913F-C37AE82CDB24} = {2345592C-22A3-42BF-BA00-482A5ED16C03}
{88DC2010-BE3A-4B86-A72F-3DF68413858B} = {2345592C-22A3-42BF-BA00-482A5ED16C03}
{98F91808-0410-4362-9B3A-BD5110BEECDE} = {2345592C-22A3-42BF-BA00-482A5ED16C03}
{F09F8CAF-701A-4673-A880-1580ACCB926B} = {2345592C-22A3-42BF-BA00-482A5ED16C03}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -35,6 +35,7 @@
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Release\FormsCommunityToolkit.Effects.UWP.XML</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<PlatformTarget>x86</PlatformTarget>
@ -113,13 +114,14 @@
<Compile Include="Effects\CapitalizeKeyboardEffect.cs" />
<Compile Include="Effects\MultiLineLabelEffect.cs" />
<Compile Include="Effects\RemoveBorderEffect.cs" />
<Compile Include="Effects\UWPSearchBarSuggestionEffect.cs" />
<Compile Include="Effects\ViewBlurEffect.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="VisualTreeExtensions.cs" />
<EmbeddedResource Include="Properties\Organon.XForms.Effects.UWP.rd.xml" />
<EmbeddedResource Include="Properties\Effects.UWP.rd.xml" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects.csproj">
<ProjectReference Include="..\Effects\Effects.csproj">
<Project>{67f9d3a8-f71e-4428-913f-c37ae82cdb24}</Project>
<Name>FormsCommunityToolkit.Effects</Name>
</ProjectReference>

Просмотреть файл

@ -1,12 +1,12 @@
using Windows.UI.Xaml.Controls;
using FormsCommunityToolkit.Effects.UWP.Effects;
using FormsCommunityToolkit.Effects.UWP;
using Xamarin.Forms;
using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform.UWP;
[assembly: ExportEffect(typeof(CapitalizeKeyboardEffect), nameof(CapitalizeKeyboardEffect))]
namespace FormsCommunityToolkit.Effects.UWP.Effects
namespace FormsCommunityToolkit.Effects.UWP
{
[Preserve]
public class CapitalizeKeyboardEffect : PlatformEffect
@ -14,11 +14,13 @@ namespace FormsCommunityToolkit.Effects.UWP.Effects
protected override void OnAttached()
{
var textbox = Control as TextBox;
if (textbox != null)
{
textbox.TextChanging -= TextboxOnTextChanging;
textbox.TextChanging += TextboxOnTextChanging;
}
if (textbox == null)
return;
textbox.TextChanging -= TextboxOnTextChanging;
textbox.TextChanging += TextboxOnTextChanging;
}
private static void TextboxOnTextChanging(TextBox sender, TextBoxTextChangingEventArgs args)
@ -32,10 +34,10 @@ namespace FormsCommunityToolkit.Effects.UWP.Effects
protected override void OnDetached()
{
var textbox = Control as TextBox;
if (textbox != null)
{
if (textbox == null)
return;
else
textbox.TextChanging -= TextboxOnTextChanging;
}
}
}
}

Просмотреть файл

@ -1,5 +1,5 @@
using Windows.UI.Xaml.Controls;
using FormsCommunityToolkit.Effects.UWP.Effects;
using FormsCommunityToolkit.Effects.UWP;
using Xamarin.Forms;
using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform.UWP;
@ -11,25 +11,27 @@ using Windows.UI.Xaml.Media.Animation;
[assembly: ExportEffect(typeof(ChangeColorSwitchEffect), nameof(ChangeColorSwitchEffect))]
namespace FormsCommunityToolkit.Effects.UWP.Effects
namespace FormsCommunityToolkit.Effects.UWP
{
[Preserve]
public class ChangeColorSwitchEffect : PlatformEffect
{
private Windows.UI.Color _trueColor;
private Windows.UI.Color _falseColor;
Windows.UI.Color trueColor;
Windows.UI.Color falseColor;
protected override void OnAttached()
{
var color = (Color)Element.GetValue(ChangeColorEffect.TrueColorProperty);
_trueColor = ConvertColor(color);
trueColor = ConvertColor(color);
// currently not supported
color = (Color)Element.GetValue(ChangeColorEffect.FalseColorProperty);
_falseColor = ConvertColor(color);
falseColor = ConvertColor(color);
var toggleSwitch = Control as ToggleSwitch;
if (toggleSwitch != null)
if (toggleSwitch == null)
return;
else
{
toggleSwitch.Loaded -= OnSwitchLoaded;
toggleSwitch.Loaded += OnSwitchLoaded;
@ -39,10 +41,10 @@ namespace FormsCommunityToolkit.Effects.UWP.Effects
protected override void OnDetached()
{
var toggleSwitch = Control as ToggleSwitch;
if (toggleSwitch != null)
{
if (toggleSwitch == null)
return;
else
toggleSwitch.Loaded -= OnSwitchLoaded;
}
}
private void OnSwitchLoaded(object sender, RoutedEventArgs e)
@ -52,11 +54,13 @@ namespace FormsCommunityToolkit.Effects.UWP.Effects
var groups = VisualStateManager.GetVisualStateGroups(grid);
foreach (var group in groups)
{
if (group.Name != "CommonStates") continue;
if (group.Name != "CommonStates")
continue;
foreach (var state in group.States)
{
if (state.Name != "PointerOver") continue;
if (state.Name != "PointerOver")
continue;
foreach (var timeline in state.Storyboard.Children.OfType<ObjectAnimationUsingKeyFrames>())
{
@ -65,7 +69,7 @@ namespace FormsCommunityToolkit.Effects.UWP.Effects
if ((target == "SwitchKnobBounds") && (property == "Fill"))
{
var frame = timeline.KeyFrames.First();
frame.Value = new SolidColorBrush(_trueColor) { Opacity = .7 };
frame.Value = new SolidColorBrush(trueColor) { Opacity = .7 };
break;
}
}
@ -74,13 +78,12 @@ namespace FormsCommunityToolkit.Effects.UWP.Effects
var rect = toggleSwitch.GetChildByName("SwitchKnobBounds") as Windows.UI.Xaml.Shapes.Rectangle;
if (rect != null)
{
rect.Fill = new SolidColorBrush(_trueColor);
}
rect.Fill = new SolidColorBrush(trueColor);
toggleSwitch.Loaded -= OnSwitchLoaded;
}
private Windows.UI.Color ConvertColor(Xamarin.Forms.Color color)
private Windows.UI.Color ConvertColor(Color color)
{
return Windows.UI.Color.FromArgb((byte)(color.A * 255), (byte)(color.R * 255), (byte)(color.G * 255), (byte)(color.B * 255));
}

Просмотреть файл

@ -1,26 +1,28 @@
using System.Linq;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using FormsCommunityToolkit.Effects.UWP.Effects;
using FormsCommunityToolkit.Effects.UWP;
using Xamarin.Forms;
using Xamarin.Forms.Platform.UWP;
[assembly: ExportEffect(typeof(MultiLineLabelEffect), nameof(MultiLineLabelEffect))]
namespace FormsCommunityToolkit.Effects.UWP.Effects
namespace FormsCommunityToolkit.Effects.UWP
{
public class MultiLineLabelEffect : PlatformEffect
{
private int _initialeLines;
private TextWrapping _initialTextWrapping;
int initialeLines;
TextWrapping initialTextWrapping;
protected override void OnAttached()
{
TextBlock control = Control as TextBlock;
var control = Control as TextBlock;
if (control != null)
if (control == null)
return;
else
{
_initialeLines = control.MaxLines;
_initialTextWrapping = control.TextWrapping;
initialeLines = control.MaxLines;
initialTextWrapping = control.TextWrapping;
var effect = (FormsCommunityToolkit.Effects.MultiLineLabelEffect)Element.Effects.FirstOrDefault(item => item is FormsCommunityToolkit.Effects.MultiLineLabelEffect);
if (effect != null && effect.Lines > 0)
@ -33,12 +35,14 @@ namespace FormsCommunityToolkit.Effects.UWP.Effects
protected override void OnDetached()
{
TextBlock control = Control as TextBlock;
var control = Control as TextBlock;
if (control != null)
if (control == null)
return;
else
{
control.MaxLines = _initialeLines;
control.TextWrapping = _initialTextWrapping;
control.MaxLines = initialeLines;
control.TextWrapping = initialTextWrapping;
}
}
}

Просмотреть файл

@ -1,34 +1,34 @@
using Windows.UI.Xaml.Controls;
using FormsCommunityToolkit.Effects.UWP.Effects;
using FormsCommunityToolkit.Effects.UWP;
using Xamarin.Forms;
using Xamarin.Forms.Platform.UWP;
using Thickness = Windows.UI.Xaml.Thickness;
[assembly: ExportEffect(typeof(RemoveBorderEffect), nameof(RemoveBorderEffect))]
namespace FormsCommunityToolkit.Effects.UWP.Effects
namespace FormsCommunityToolkit.Effects.UWP
{
public class RemoveBorderEffect : PlatformEffect
{
private Thickness _old;
Thickness old;
protected override void OnAttached()
{
var textBox = Control as TextBox;
if (textBox != null)
{
_old = textBox.BorderThickness;
textBox.BorderThickness = new Thickness(0);
}
if (textBox == null)
return;
old = textBox.BorderThickness;
textBox.BorderThickness = new Thickness(0);
}
protected override void OnDetached()
{
var textBox = Control as TextBox;
if (textBox != null)
{
textBox.BorderThickness = _old;
}
if (textBox == null)
return;
textBox.BorderThickness = old;
}
}
}

Просмотреть файл

@ -1,5 +1,5 @@
using Windows.UI.Xaml.Controls;
using FormsCommunityToolkit.Effects.UWP.Effects;
using FormsCommunityToolkit.Effects.UWP;
using Xamarin.Forms;
using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform.UWP;
@ -7,19 +7,20 @@ using Windows.UI.Xaml;
[assembly: ExportEffect(typeof(SelectAllTextEntryEffect), nameof(SelectAllTextEntryEffect))]
namespace FormsCommunityToolkit.Effects.UWP.Effects
namespace FormsCommunityToolkit.Effects.UWP
{
[Preserve]
public class SelectAllTextEntryEffect : PlatformEffect
{
protected override void OnAttached()
{
var textbox = Control as TextBox;
if (textbox != null)
{
textbox.GotFocus -= TextboxOnGotFocus;
textbox.GotFocus += TextboxOnGotFocus;
}
var textBox = Control as TextBox;
if (textBox == null)
return;
textBox.GotFocus -= TextboxOnGotFocus;
textBox.GotFocus += TextboxOnGotFocus;
}
private void TextboxOnGotFocus(object sender, RoutedEventArgs e)
@ -30,10 +31,10 @@ namespace FormsCommunityToolkit.Effects.UWP.Effects
protected override void OnDetached()
{
var textbox = Control as TextBox;
if (textbox != null)
{
if (textbox == null)
return;
else
textbox.GotFocus -= TextboxOnGotFocus;
}
}
}
}

Просмотреть файл

@ -0,0 +1,56 @@
using FormsCommunityToolkit.Effects.UWP.Effects;
using System;
using System.Collections.ObjectModel;
using Windows.UI.Xaml.Controls;
using Xamarin.Forms;
using Xamarin.Forms.Platform.UWP;
using System.ComponentModel;
[assembly: ExportEffect(typeof(UWPSearchBarSuggestionEffect), nameof(UWPSearchBarSuggestionEffect))]
namespace FormsCommunityToolkit.Effects.UWP.Effects
{
public class UWPSearchBarSuggestionEffect : PlatformEffect
{
protected override void OnAttached()
{
var autoSuggestBox = Control as AutoSuggestBox;
if (autoSuggestBox != null)
{
autoSuggestBox.SuggestionChosen += OnSuggestionChosen;
autoSuggestBox.TextChanged += OnTextChangedEffect;
autoSuggestBox.AutoMaximizeSuggestionArea = true;
autoSuggestBox.ItemsSource = SearchBarSuggestionEffect.GetSuggestions(Element);
}
}
protected override void OnDetached()
{
var autoSuggestBox = Control as AutoSuggestBox;
autoSuggestBox.SuggestionChosen -= OnSuggestionChosen;
autoSuggestBox.TextChanged -= OnTextChangedEffect;
}
private void OnSuggestionChosen(AutoSuggestBox sender, AutoSuggestBoxSuggestionChosenEventArgs args)
{
((IElementController)Element).SetValueFromRenderer(SearchBar.TextProperty, sender.Text);
}
private void OnTextChangedEffect(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs e)
{
Action platformSpecificAction = (Action)Element.GetValue(SearchBarSuggestionEffect.TextChangedActionProperty);
platformSpecificAction?.Invoke();
}
protected override void OnElementPropertyChanged(PropertyChangedEventArgs args)
{
base.OnElementPropertyChanged(args);
if (args.PropertyName == SearchBarSuggestionEffect.SuggestionsProperty.PropertyName)
UpdateItemsSource();
}
private void UpdateItemsSource()
{
((AutoSuggestBox)Control).ItemsSource = SearchBarSuggestionEffect.GetSuggestions(Element);
}
}
}

Просмотреть файл

@ -4,43 +4,43 @@ using Windows.UI.Composition;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Hosting;
using Microsoft.Graphics.Canvas.Effects;
using FormsCommunityToolkit.Effects.UWP.Effects;
using FormsCommunityToolkit.Effects.UWP;
using Xamarin.Forms;
using Xamarin.Forms.Platform.UWP;
[assembly: ExportEffect(typeof(ViewBlurEffect), nameof(ViewBlurEffect))]
namespace FormsCommunityToolkit.Effects.UWP.Effects
namespace FormsCommunityToolkit.Effects.UWP
{
public class ViewBlurEffect : PlatformEffect
{
private SpriteVisual _blurVisual;
private CompositionBrush _blurBrush;
private Visual _rootVisual;
SpriteVisual blurVisual;
CompositionBrush blurBrush;
Visual rootVisual;
private Compositor Compositor { get; set; }
Compositor Compositor { get; set; }
protected override void OnAttached()
{
double blurAmount = (double)Element.GetValue(BlurEffect.BlurAmountProperty);
var blurAmount = (double)Element.GetValue(BlurEffect.BlurAmountProperty);
_rootVisual = ElementCompositionPreview.GetElementVisual(Container);
rootVisual = ElementCompositionPreview.GetElementVisual(Container);
Compositor = _rootVisual.Compositor;
Compositor = rootVisual.Compositor;
_blurVisual = Compositor.CreateSpriteVisual();
blurVisual = Compositor.CreateSpriteVisual();
var brush = BuildBlurBrush();
brush.SetSourceParameter("source", Compositor.CreateBackdropBrush());
_blurBrush = brush;
_blurVisual.Brush = _blurBrush;
blurBrush = brush;
blurVisual.Brush = blurBrush;
ElementCompositionPreview.SetElementChildVisual(Container, _blurVisual);
ElementCompositionPreview.SetElementChildVisual(Container, blurVisual);
Container.Loading += OnLoading;
Container.Unloaded += OnUnloaded;
_blurBrush.Properties.InsertScalar("Blur.BlurAmount", (float)blurAmount);
_rootVisual.Properties.InsertScalar("BlurAmount", (float)blurAmount);
blurBrush.Properties.InsertScalar("Blur.BlurAmount", (float)blurAmount);
rootVisual.Properties.InsertScalar("BlurAmount", (float)blurAmount);
SetUpPropertySetExpressions();
}
@ -51,8 +51,8 @@ namespace FormsCommunityToolkit.Effects.UWP.Effects
if (args.PropertyName == "BlurAmount")
{
double blurAmount = (double)Element.GetValue(BlurEffect.BlurAmountProperty);
_rootVisual.Properties.InsertScalar("BlurAmount", (float)blurAmount);
var blurAmount = (double)Element.GetValue(BlurEffect.BlurAmountProperty);
rootVisual.Properties.InsertScalar("BlurAmount", (float)blurAmount);
}
}
@ -60,9 +60,9 @@ namespace FormsCommunityToolkit.Effects.UWP.Effects
{
var exprAnimation = Compositor.CreateExpressionAnimation();
exprAnimation.Expression = "sourceProperties.BlurAmount";
exprAnimation.SetReferenceParameter("sourceProperties", _rootVisual.Properties);
exprAnimation.SetReferenceParameter("sourceProperties", rootVisual.Properties);
_blurBrush.Properties.StartAnimation("Blur.BlurAmount", exprAnimation);
blurBrush.Properties.StartAnimation("Blur.BlurAmount", exprAnimation);
}
protected override void OnDetached()
@ -78,16 +78,18 @@ namespace FormsCommunityToolkit.Effects.UWP.Effects
private void OnUnloaded(object sender, RoutedEventArgs e)
{
if(Container != null)
if (Container == null)
return;
else
Container.SizeChanged -= OnSizeChanged;
}
private void OnSizeChanged(object sender, SizeChangedEventArgs e)
{
if (_blurVisual != null)
{
_blurVisual.Size = new Vector2((float)Container.ActualWidth, (float)Container.ActualHeight);
}
if (blurVisual == null)
return;
else
blurVisual.Size = new Vector2((float)Container.ActualWidth, (float)Container.ActualHeight);
}
private CompositionEffectBrush BuildBlurBrush()

Просмотреть файл

@ -5,16 +5,18 @@ namespace FormsCommunityToolkit.Effects.UWP
{
static class VisualTreeExtensions
{
public static T GetChildOfType<T>(this DependencyObject obj) where T: DependencyObject
public static T GetChildOfType<T>(this DependencyObject obj) where T : DependencyObject
{
if (obj == null) return null;
if (obj == null)
return null;
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
{
var child = VisualTreeHelper.GetChild(obj, i);
var result = (child as T) ?? GetChildOfType<T>(child);
if (result != null) return result;
if (result != null)
return result;
}
return null;
}
@ -26,14 +28,16 @@ namespace FormsCommunityToolkit.Effects.UWP
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
{
var child = VisualTreeHelper.GetChild(obj, i) as FrameworkElement;
if (child == null) continue;
if (child == null)
continue;
if(child.Name == name)
if (child.Name == name)
{
return child;
}
var result = GetChildByName(child, name);
if (result != null) return result;
if (result != null)
return result;
}
return null;
}

Просмотреть файл

@ -7,10 +7,10 @@ using Foundation;
namespace FormsCommunityToolkit.Effects.iOS
{
[Preserve(AllMembers = true)]
public static class iOSEffects
public static class Effects
{
#pragma warning disable 414
private static List<PlatformEffect> _allEffects = new List<PlatformEffect>();
static List<PlatformEffect> allEffects = new List<PlatformEffect>();
#pragma warning restore 414
/// <summary>
@ -18,7 +18,7 @@ namespace FormsCommunityToolkit.Effects.iOS
/// </summary>
public static void Init()
{
_allEffects = new List<PlatformEffect>(typeof(iOSEffects).Assembly.GetTypes().Where(t => typeof(PlatformEffect).IsAssignableFrom(t)).Select(t => (PlatformEffect)Activator.CreateInstance(t)));
allEffects = new List<PlatformEffect>(typeof(Effects).Assembly.GetTypes().Where(t => typeof(PlatformEffect).IsAssignableFrom(t)).Select(t => (PlatformEffect)Activator.CreateInstance(t)));
}
}
}

Просмотреть файл

@ -31,6 +31,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<ConsolePause>false</ConsolePause>
<DocumentationFile>bin\Release\FormsCommunityToolkit.Effects.iOS.XML</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
@ -38,16 +39,16 @@
<Reference Include="System.Core" />
<Reference Include="Xamarin.iOS" />
<Reference Include="Xamarin.Forms.Core">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Platform">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Platform.iOS">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Xaml">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
@ -67,17 +68,16 @@
<Compile Include="Effects\CustomFontEffect.cs" />
<Compile Include="Effects\ItalicPlaceholderEffect.cs" />
<Compile Include="Effects\SelectAllTextEntryEffect.cs" />
<Compile Include="Effects\ChangeColorPickerEffect.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects.csproj">
<Project>{67f9d3a8-f71e-4428-913f-c37ae82cdb24}</Project>
<Name>FormsCommunityToolkit.Effects</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Effects\Effects.csproj">
<Project>{67F9D3A8-F71E-4428-913F-C37AE82CDB24}</Project>
<Name>Effects</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
<Import Project="..\..\packages\Xamarin.Forms.2.3.3.175\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.3.3.175\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets')" />
<Import Project="..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
</Project>

Просмотреть файл

@ -0,0 +1,35 @@
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
using FormsCommunityToolkit.Effects.iOS;
using UIKit;
using Foundation;
[assembly: ExportEffect(typeof(CapitalizeKeyboardEffect), nameof(CapitalizeKeyboardEffect))]
namespace FormsCommunityToolkit.Effects.iOS
{
[Preserve(AllMembers = true)]
public class CapitalizeKeyboardEffect : PlatformEffect
{
UITextAutocapitalizationType old;
protected override void OnAttached()
{
var editText = Control as UITextField;
if (editText == null)
return;
old = editText.AutocapitalizationType;
editText.AutocapitalizationType = UITextAutocapitalizationType.AllCharacters;
}
protected override void OnDetached()
{
var editText = Control as UITextField;
if (editText == null)
return;
editText.AutocapitalizationType = old;
}
}
}

Просмотреть файл

@ -8,8 +8,8 @@ namespace FormsCommunityToolkit.Effects.iOS
{
public class ChangeColorSwitchEffect : PlatformEffect
{
private Color _trueColor;
private Color _falseColor;
Color trueColor;
Color falseColor;
public ChangeColorSwitchEffect ()
{
@ -17,17 +17,18 @@ namespace FormsCommunityToolkit.Effects.iOS
protected override void OnAttached ()
{
_trueColor = (Color)Element.GetValue (ChangeColorEffect.TrueColorProperty);
_falseColor = (Color)Element.GetValue (ChangeColorEffect.FalseColorProperty);
trueColor = (Color)Element.GetValue (ChangeColorEffect.TrueColorProperty);
falseColor = (Color)Element.GetValue (ChangeColorEffect.FalseColorProperty);
if (_falseColor != Color.Transparent) {
(Control as UISwitch).TintColor = _falseColor.ToUIColor ();
if (falseColor != Color.Transparent)
{
(Control as UISwitch).TintColor = falseColor.ToUIColor ();
(Control as UISwitch).Layer.CornerRadius = 16;
(Control as UISwitch).BackgroundColor = _falseColor.ToUIColor ();
(Control as UISwitch).BackgroundColor = falseColor.ToUIColor ();
}
if (_trueColor != Color.Transparent)
(Control as UISwitch).OnTintColor = _trueColor.ToUIColor ();
if (trueColor != Color.Transparent)
(Control as UISwitch).OnTintColor = trueColor.ToUIColor ();
}
protected override void OnDetached ()

Просмотреть файл

@ -1,11 +1,11 @@
using Foundation;
using FormsCommunityToolkit.Effects.iOS.Effects;
using FormsCommunityToolkit.Effects.iOS;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportEffect(typeof(ClearEntryEffect), nameof(ClearEntryEffect))]
namespace FormsCommunityToolkit.Effects.iOS.Effects
namespace FormsCommunityToolkit.Effects.iOS
{
[Preserve(AllMembers = true)]
public class ClearEntryEffect : PlatformEffect

Просмотреть файл

@ -13,12 +13,12 @@ namespace FormsCommunityToolkit.Effects.iOS
{
var control = Control as UILabel;
if (control != null) {
var effect = (FormsCommunityToolkit.Effects.CustomFontEffect)Element.Effects.FirstOrDefault (item => item is FormsCommunityToolkit.Effects.CustomFontEffect);
if (effect != null && !string.IsNullOrWhiteSpace (effect.FontPath)) {
control.Font = UIFont.FromName (effect.FontFamilyName, control.Font.PointSize);
}
}
if (control == null)
return;
var effect = (FormsCommunityToolkit.Effects.CustomFontEffect)Element.Effects.FirstOrDefault(item => item is FormsCommunityToolkit.Effects.CustomFontEffect);
if (effect != null && !string.IsNullOrWhiteSpace(effect.FontPath))
control.Font = UIFont.FromName(effect.FontFamilyName, control.Font.PointSize);
}
protected override void OnDetached ()

Просмотреть файл

@ -0,0 +1,45 @@
using System;
using FormsCommunityToolkit.Effects.iOS;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportEffect(typeof(DisableAutoCorrectEffect), nameof(DisableAutoCorrectEffect))]
namespace FormsCommunityToolkit.Effects.iOS
{
[Preserve]
public class DisableAutoCorrectEffect : PlatformEffect
{
UITextSpellCheckingType spellCheckingType;
UITextAutocorrectionType autocorrectionType;
UITextAutocapitalizationType autocapitalizationType;
protected override void OnAttached()
{
var editText = Control as UITextField;
if (editText == null) return;
spellCheckingType = editText.SpellCheckingType;
autocorrectionType = editText.AutocorrectionType;
autocapitalizationType = editText.AutocapitalizationType;
editText.SpellCheckingType = UITextSpellCheckingType.No; // No Spellchecking
editText.AutocorrectionType = UITextAutocorrectionType.No; // No Autocorrection
editText.AutocapitalizationType = UITextAutocapitalizationType.None;
}
protected override void OnDetached()
{
var editText = Control as UITextField;
if (editText == null) return;
editText.SpellCheckingType = spellCheckingType;
editText.AutocorrectionType = autocorrectionType;
editText.AutocapitalizationType = autocapitalizationType;
}
}
}

Просмотреть файл

@ -0,0 +1,36 @@
using System;
using FormsCommunityToolkit.Effects.iOS;
using Foundation;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportEffect(typeof(ItalicPlaceholderEffect), nameof(ItalicPlaceholderEffect))]
namespace FormsCommunityToolkit.Effects.iOS
{
[Preserve(AllMembers = true)]
public class ItalicPlaceholderEffect : PlatformEffect
{
NSAttributedString old;
protected override void OnAttached()
{
var entry = Control as UITextField;
if (entry == null || string.IsNullOrWhiteSpace(entry.Placeholder))
return;
old = entry.AttributedPlaceholder;
var entryFontSize = entry.Font.PointSize;
entry.AttributedPlaceholder = new NSAttributedString(entry.Placeholder, font: UIFont.ItalicSystemFontOfSize(entryFontSize));
}
protected override void OnDetached()
{
var entry = Control as UITextField;
if (entry == null)
return;
entry.AttributedPlaceholder = old;
}
}
}

Просмотреть файл

@ -0,0 +1,39 @@
using System;
using System.Linq;
using FormsCommunityToolkit.Effects.iOS;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportEffect(typeof(MultiLineLabelEffect), nameof(MultiLineLabelEffect))]
namespace FormsCommunityToolkit.Effects.iOS
{
public class MultiLineLabelEffect : PlatformEffect
{
nint initialeLines;
protected override void OnAttached()
{
var control = Control as UILabel;
if (control == null)
return;
initialeLines = control.Lines;
var effect = (FormsCommunityToolkit.Effects.MultiLineLabelEffect)Element.Effects.FirstOrDefault(item => item is FormsCommunityToolkit.Effects.MultiLineLabelEffect);
if (effect != null && effect.Lines > 0)
control.Lines = effect.Lines;
}
protected override void OnDetached()
{
var control = Control as UILabel;
if (control == null)
return;
control.Lines = initialeLines;
}
}
}

Просмотреть файл

@ -0,0 +1,35 @@
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
using FormsCommunityToolkit.Effects.iOS;
using UIKit;
using Foundation;
[assembly: ExportEffect(typeof(RemoveBorderEffect), nameof(RemoveBorderEffect))]
namespace FormsCommunityToolkit.Effects.iOS
{
[Preserve(AllMembers = true)]
public class RemoveBorderEffect : PlatformEffect
{
UITextBorderStyle old;
protected override void OnAttached()
{
var editText = Control as UITextField;
if (editText == null)
return;
old = editText.BorderStyle;
editText.BorderStyle = UITextBorderStyle.None;
}
protected override void OnDetached()
{
var editText = Control as UITextField;
if (editText == null)
return;
editText.BorderStyle = old;
}
}
}

Просмотреть файл

@ -0,0 +1,40 @@
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
using FormsCommunityToolkit.Effects.iOS;
using UIKit;
using Foundation;
using ObjCRuntime;
[assembly: ExportEffect(typeof(SelectAllTextEntryEffect), nameof(SelectAllTextEntryEffect))]
namespace FormsCommunityToolkit.Effects.iOS
{
[Preserve(AllMembers = true)]
public class SelectAllTextEntryEffect : PlatformEffect
{
protected override void OnAttached()
{
var editText = Control as UITextField;
if (editText == null)
return;
editText.EditingDidBegin += (object sender, System.EventArgs e) =>
{
editText.PerformSelector(new Selector("selectAll"), null, 0.0f);
};
}
protected override void OnDetached()
{
var editText = Control as UITextField;
if (editText == null)
return;
editText.EditingDidBegin -= (object sender, System.EventArgs e) =>
{
editText.PerformSelector(new Selector("selectAll"), null, 0.0f);
};
}
}
}

Просмотреть файл

@ -1,12 +1,12 @@
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
using FormsCommunityToolkit.Effects.iOS.Effects;
using FormsCommunityToolkit.Effects.iOS;
using UIKit;
using Foundation;
[assembly: ExportEffect(typeof(SizeFontToFitEffect), nameof(SizeFontToFitEffect))]
namespace FormsCommunityToolkit.Effects.iOS.Effects
namespace FormsCommunityToolkit.Effects.iOS
{
[Preserve(AllMembers = true)]
public class SizeFontToFitEffect : PlatformEffect
@ -14,13 +14,13 @@ namespace FormsCommunityToolkit.Effects.iOS.Effects
protected override void OnAttached()
{
var label = Control as UILabel;
if (label != null)
{
label.AdjustsFontSizeToFitWidth = true;
label.Lines = 1;
label.BaselineAdjustment = UIBaselineAdjustment.AlignCenters;
label.LineBreakMode = UILineBreakMode.Clip;
}
if (label == null)
return;
label.AdjustsFontSizeToFitWidth = true;
label.Lines = 1;
label.BaselineAdjustment = UIBaselineAdjustment.AlignCenters;
label.LineBreakMode = UILineBreakMode.Clip;
}
protected override void OnDetached()

Просмотреть файл

@ -0,0 +1,53 @@
using System;
using System.ComponentModel;
using System.Drawing;
using FormsCommunityToolkit.Effects.iOS;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportEffect(typeof(ViewBlurEffect), nameof(ViewBlurEffect))]
namespace FormsCommunityToolkit.Effects.iOS
{
public class ViewBlurEffect : PlatformEffect
{
public ViewBlurEffect()
{
}
protected override void OnElementPropertyChanged(PropertyChangedEventArgs args)
{
base.OnElementPropertyChanged(args);
var visualElement = Element as VisualElement;
if (visualElement == null)
return;
if (args.PropertyName == nameof(visualElement.Width) || args.PropertyName == nameof(visualElement.Height))
{
var blurAmount = (double)Element.GetValue(BlurEffect.BlurAmountProperty);
var blur = UIBlurEffect.FromStyle(UIBlurEffectStyle.Light);
var blurView = new UIVisualEffectView(blur)
{
Alpha = (nfloat)blurAmount,
Frame = new RectangleF(0, 0, (float)((VisualElement)Element).Width,
(float)((VisualElement)Element).Height)
};
Control.Add(blurView);
}
}
protected override void OnAttached()
{
}
protected override void OnDetached()
{
}
}
}

Просмотреть файл

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Xamarin.Forms" version="2.3.2.127" targetFramework="xamarinios10" />
</packages>

Просмотреть файл

@ -3,13 +3,23 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsCommunityToolkit.Effects.iOS", "FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects.iOS\FormsCommunityToolkit.Effects.iOS.csproj", "{F09F8CAF-701A-4673-A880-1580ACCB926B}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Effects.iOS", "Effects.iOS\Effects.iOS.csproj", "{F09F8CAF-701A-4673-A880-1580ACCB926B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsCommunityToolkit.Effects.Droid", "FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects.Droid\FormsCommunityToolkit.Effects.Droid.csproj", "{88DC2010-BE3A-4B86-A72F-3DF68413858B}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Effects.Android", "Effects.Android\Effects.Android.csproj", "{88DC2010-BE3A-4B86-A72F-3DF68413858B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsCommunityToolkit.Effects", "FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects.csproj", "{67F9D3A8-F71E-4428-913F-C37AE82CDB24}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Effects", "Effects\Effects.csproj", "{67F9D3A8-F71E-4428-913F-C37AE82CDB24}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsCommunityToolkit.Effects.UWP", "FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects.UWP\FormsCommunityToolkit.Effects.UWP.csproj", "{98F91808-0410-4362-9B3A-BD5110BEECDE}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Effects.UWP", "Effects.UWP\Effects.UWP.csproj", "{98F91808-0410-4362-9B3A-BD5110BEECDE}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5D176F5C-88F0-4466-A0A2-B91B40FE9199}"
ProjectSection(SolutionItems) = preProject
..\appveyor.yml = ..\appveyor.yml
..\build.cake = ..\build.cake
..\CHANGELOG.md = ..\CHANGELOG.md
..\nuget\Effects.nuspec = ..\nuget\Effects.nuspec
..\README.md = ..\README.md
..\nuget\readme.txt = ..\nuget\readme.txt
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

Просмотреть файл

@ -0,0 +1,11 @@
using Xamarin.Forms;
namespace FormsCommunityToolkit.Effects
{
public class CapitalizeKeyboardEffect : RoutingEffect
{
public CapitalizeKeyboardEffect() : base("FormsCommunityToolkit.Effects.CapitalizeKeyboardEffect")
{
}
}
}

Просмотреть файл

@ -17,11 +17,10 @@ namespace FormsCommunityToolkit.Effects
var color = (Color)newValue;
var attachedEffect = control.Effects.FirstOrDefault (e => e is ChangeColorSwitchEffect);
if (color != Color.Transparent && attachedEffect == null) {
if (color != Color.Transparent && attachedEffect == null)
control.Effects.Add (new ChangeColorSwitchEffect ());
} else if (color == Color.Transparent && attachedEffect != null) {
else if (color == Color.Transparent && attachedEffect != null)
control.Effects.Remove (attachedEffect);
}
}
public static Color GetFalseColor (BindableObject view)
@ -43,7 +42,6 @@ namespace FormsCommunityToolkit.Effects
{
view.SetValue (TrueColorProperty, color);
}
}
public class ChangeColorSwitchEffect : RoutingEffect

Просмотреть файл

@ -0,0 +1,15 @@
using System;
using Xamarin.Forms;
namespace FormsCommunityToolkit.Effects
{
/// <summary>
/// When attached to a Xamarin.Forms.Entry control, disables auto-suggestion, auto-capitilisation and auto-correction for entered text.
/// </summary>
public class DisableAutoCorrectEffect : RoutingEffect
{
public DisableAutoCorrectEffect() : base("FormsCommunityToolkit.Effects.DisableAutoCorrectEffect")
{
}
}
}

Просмотреть файл

@ -33,6 +33,7 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Release\FormsCommunityToolkit.Effects.XML</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Compile Include="BlurEffect.cs" />
@ -44,6 +45,7 @@
<Compile Include="CapitializeKeyboardEffect.cs" />
<Compile Include="RemoveBorderEffect.cs" />
<Compile Include="DisableAutoCorrectEffect.cs" />
<Compile Include="SearchBarSuggestionEffect.cs" />
<Compile Include="SizeFontToFitEffect.cs" />
<Compile Include="CustomFontEffect.cs" />
<Compile Include="ItalicPlaceholderEffect.cs" />
@ -52,18 +54,19 @@
</ItemGroup>
<ItemGroup>
<Reference Include="Xamarin.Forms.Core">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.Core.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Platform">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.Platform.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Xaml">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.Xaml.dll</HintPath>
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<Import Project="..\..\packages\Xamarin.Forms.2.3.3.175\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.3.3.175\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets')" />
<Import Project="..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
</Project>

Просмотреть файл

@ -0,0 +1,56 @@
using System;
using System.Collections.ObjectModel;
using Xamarin.Forms;
namespace FormsCommunityToolkit.Effects
{
public static class SearchBarSuggestionEffect
{
public static readonly BindableProperty SuggestionsProperty = BindableProperty.CreateAttached("Suggestions", typeof(ObservableCollection<string>), typeof(SearchBarSuggestionEffect), new ObservableCollection<string>(), propertyChanged: OnSuggestionsChanged);
public static readonly BindableProperty TextChangedActionProperty = BindableProperty.CreateAttached("TextChangedAction", typeof(Action), typeof(SearchBarSuggestionEffect), null, propertyChanged: OnTextChangedActionChanged);
public static ObservableCollection<string> GetSuggestions(BindableObject view)
{
return (ObservableCollection<string>)view.GetValue(SuggestionsProperty);
}
public static void SetSuggestions(BindableObject view, ObservableCollection<string> value)
{
view.SetValue(SuggestionsProperty, value);
}
public static Action GetTextChangedAction(BindableObject view)
{
return (Action)view.GetValue(TextChangedActionProperty);
}
public static void SetTextChangedAction(BindableObject view, Action value)
{
view.SetValue(TextChangedActionProperty, value);
}
private static void OnSuggestionsChanged(BindableObject bindable, object oldValue, object newValue)
{
var view = bindable as SearchBar;
if (view == null)
return;
bindable.SetValue(SuggestionsProperty, (ObservableCollection<string>)newValue);
}
private static void OnTextChangedActionChanged(BindableObject bindable, object oldValue, object newValue)
{
var view = bindable as SearchBar;
if (view == null)
return;
bindable.SetValue(TextChangedActionProperty, (Action)newValue);
}
}
public class UWPSearchBarSuggestionEffect : RoutingEffect
{
public UWPSearchBarSuggestionEffect() : base("FormsCommunityToolkit.Effects.UWPSearchBarSuggestionEffect")
{
}
}
}

Просмотреть файл

@ -0,0 +1,11 @@
using Xamarin.Forms;
namespace FormsCommunityToolkit.Effects
{
public class SelectAllTextEntryEffect : RoutingEffect
{
public SelectAllTextEntryEffect() : base("FormsCommunityToolkit.Effects.SelectAllTextEntryEffect")
{
}
}
}

Просмотреть файл

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Xamarin.Forms" version="2.3.3.175" targetFramework="portable45-net45+win8+wp8+wpa81" />
<package id="Xamarin.Forms" version="2.3.2.127" targetFramework="portable45-net45+win8+wp8+wpa81" />
</packages>

Просмотреть файл

@ -1,45 +0,0 @@
using Android.Text;
using Android.Widget;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
using FormsCommunityToolkit.Effects.Droid.Effects;
using Android.Runtime;
using System.Linq;
[assembly: ExportEffect(typeof(CapitalizeKeyboardEffect), nameof(CapitalizeKeyboardEffect))]
namespace FormsCommunityToolkit.Effects.Droid.Effects
{
[Preserve(AllMembers = true)]
public class CapitalizeKeyboardEffect : PlatformEffect
{
private InputTypes _old;
private IInputFilter[] _oldFilters;
protected override void OnAttached()
{
var editText = Control as EditText;
if (editText != null)
{
_old = editText.InputType;
_oldFilters = editText.GetFilters().ToArray();
editText.SetRawInputType(InputTypes.ClassText | InputTypes.TextFlagCapCharacters);
var newFilters = _oldFilters.ToList();
newFilters.Add(new InputFilterAllCaps());
editText.SetFilters(newFilters.ToArray());
}
}
protected override void OnDetached()
{
var editText = Control as EditText;
if (editText != null)
{
editText.SetRawInputType(_old);
editText.SetFilters(_oldFilters);
}
}
}
}

Просмотреть файл

@ -1,33 +0,0 @@
using System;
using Android.Widget;
using FormsCommunityToolkit.Effects.Droid.Effects;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
[assembly: ExportEffect(typeof(DisableAutoCorrectEffect), nameof(DisableAutoCorrectEffect))]
namespace FormsCommunityToolkit.Effects.Droid.Effects
{
public class DisableAutoCorrectEffect : PlatformEffect
{
Android.Text.InputTypes _old;
protected override void OnAttached()
{
var editText = Control as EditText;
if (editText == null) return;
_old = editText.InputType;
editText.InputType = editText.InputType | Android.Text.InputTypes.TextFlagNoSuggestions;
}
protected override void OnDetached()
{
var editText = Control as EditText;
if (editText == null) return;
editText.InputType = _old;
}
}
}

Просмотреть файл

@ -1,31 +0,0 @@
using System.Linq;
using Android.Widget;
using FormsCommunityToolkit.Effects.Droid.Effects;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
[assembly: ExportEffect(typeof(MultiLineLabelEffect), nameof(MultiLineLabelEffect))]
namespace FormsCommunityToolkit.Effects.Droid.Effects
{
public class MultiLineLabelEffect : PlatformEffect
{
protected override void OnAttached()
{
TextView control = Control as TextView;
if (control != null)
{
var effect = (FormsCommunityToolkit.Effects.MultiLineLabelEffect)Element.Effects.FirstOrDefault(item => item is FormsCommunityToolkit.Effects.MultiLineLabelEffect);
if (effect != null && effect.Lines > 0)
{
control.SetSingleLine(false);
control.SetLines(effect.Lines);
}
}
}
protected override void OnDetached()
{
}
}
}

Просмотреть файл

@ -1,35 +0,0 @@
using Android.Text;
using Android.Widget;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
using FormsCommunityToolkit.Effects.Droid.Effects;
using Android.Runtime;
using System.Linq;
[assembly: ExportEffect(typeof(SelectAllTextEntryEffect), nameof(SelectAllTextEntryEffect))]
namespace FormsCommunityToolkit.Effects.Droid.Effects
{
[Preserve(AllMembers = true)]
public class SelectAllTextEntryEffect : PlatformEffect
{
protected override void OnAttached()
{
var editText = Control as EditText;
if (editText != null)
{
editText.SetSelectAllOnFocus(true);
}
}
protected override void OnDetached()
{
var editText = Control as EditText;
if (editText != null)
{
editText.SetSelectAllOnFocus(false);
}
}
}
}

Просмотреть файл

@ -1,158 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{88DC2010-BE3A-4B86-A72F-3DF68413858B}</ProjectGuid>
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Organon.XForms.Effects.Droid</RootNamespace>
<AssemblyName>Organon.XForms.Effects.Droid</AssemblyName>
<FileAlignment>512</FileAlignment>
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
<TargetFrameworkVersion>v6.0</TargetFrameworkVersion>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<AndroidTlsProvider>
</AndroidTlsProvider>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Mono.Android" />
<Reference Include="mscorlib" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Xml" />
<Reference Include="Xamarin.Android.Support.Animated.Vector.Drawable, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Animated.Vector.Drawable.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.Design, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.Design.23.3.0\lib\MonoAndroid43\Xamarin.Android.Support.Design.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v4.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.AppCompat, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.AppCompat.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.CardView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.CardView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.CardView.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.MediaRouter, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.MediaRouter.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.MediaRouter.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.RecyclerView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.RecyclerView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.RecyclerView.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.Vector.Drawable, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Vector.Drawable.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FormsViewGroup">
<HintPath>..\..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\FormsViewGroup.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Core">
<HintPath>..\..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Core.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Platform.Android">
<HintPath>..\..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Platform">
<HintPath>..\..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Platform.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Xaml">
<HintPath>..\..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Effects\ChangeColorSwitchEffect.cs" />
<Compile Include="Effects\ClearEntryEffect.cs" />
<Compile Include="Effects\MultiLineLabelEffect.cs" />
<Compile Include="Effects\RemoveEntryLineEffect.cs" />
<Compile Include="Resources\Resource.Designer.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Effects\CapitalizeKeyboardEffect.cs" />
<Compile Include="Effects\RemoveBorderEffect.cs" />
<Compile Include="Effects\DisableAutoCorrectEffect.cs" />
<Compile Include="Effects\SizeFontToFitEffect.cs" />
<Compile Include="Effects\CustomFontEffect.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="Resources\AboutResources.txt" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\Values\Strings.xml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable\icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-hdpi\ic_clear_icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-hdpi\icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-mdpi\ic_clear_icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xhdpi\ic_clear_icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xhdpi\icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxhdpi\ic_clear_icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxhdpi\icon.png" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable-xxxhdpi\ic_clear_icon.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Organon.XForms.Effects\Organon.XForms.Effects.csproj">
<Project>{67f9d3a8-f71e-4428-913f-c37ae82cdb24}</Project>
<Name>Organon.XForms.Effects</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
<Import Project="..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets'))" />
</Target>
<Import Project="..\..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
</Project>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="Hello">Hello World, Click Me!</string>
<string name="ApplicationName">$projectname$</string>
</resources>

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 1.4 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 1.7 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 2.3 KiB

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 1.4 KiB

Просмотреть файл

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(NuGetPackageRoot)' == ''">
<NuGetPackageRoot>$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
</PropertyGroup>
<ImportGroup>
<Import Project="$(NuGetPackageRoot)\Xamarin.Forms\2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('$(NuGetPackageRoot)\Xamarin.Forms\2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
</ImportGroup>
</Project>

Просмотреть файл

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(NuGetPackageRoot)' == ''">
<NuGetPackageRoot>$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
</PropertyGroup>
<ImportGroup>
<Import Project="$(NuGetPackageRoot)\Xamarin.Forms\2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('$(NuGetPackageRoot)\Xamarin.Forms\2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
</ImportGroup>
</Project>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,33 +0,0 @@
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
using FormsCommunityToolkit.Effects.iOS.Effects;
using UIKit;
using Foundation;
[assembly: ExportEffect(typeof(CapitalizeKeyboardEffect), nameof(CapitalizeKeyboardEffect))]
namespace FormsCommunityToolkit.Effects.iOS.Effects
{
[Preserve(AllMembers = true)]
public class CapitalizeKeyboardEffect : PlatformEffect
{
private UITextAutocapitalizationType _old;
protected override void OnAttached()
{
var editText = Control as UITextField;
if (editText != null)
{
_old = editText.AutocapitalizationType;
editText.AutocapitalizationType = UITextAutocapitalizationType.AllCharacters;
}
}
protected override void OnDetached()
{
var editText = Control as UITextField;
if (editText != null)
editText.AutocapitalizationType = _old;
}
}
}

Просмотреть файл

@ -1,45 +0,0 @@
using System;
using FormsCommunityToolkit.Effects.iOS.Effects;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportEffect(typeof(DisableAutoCorrectEffect), nameof(DisableAutoCorrectEffect))]
namespace FormsCommunityToolkit.Effects.iOS.Effects
{
[Preserve]
public class DisableAutoCorrectEffect : PlatformEffect
{
UITextSpellCheckingType _spellCheckingType;
UITextAutocorrectionType _autocorrectionType;
UITextAutocapitalizationType _autocapitalizationType;
protected override void OnAttached()
{
var editText = Control as UITextField;
if (editText == null) return;
_spellCheckingType = editText.SpellCheckingType;
_autocorrectionType = editText.AutocorrectionType;
_autocapitalizationType = editText.AutocapitalizationType;
editText.SpellCheckingType = UITextSpellCheckingType.No; // No Spellchecking
editText.AutocorrectionType = UITextAutocorrectionType.No; // No Autocorrection
editText.AutocapitalizationType = UITextAutocapitalizationType.None;
}
protected override void OnDetached()
{
var editText = Control as UITextField;
if (editText == null) return;
editText.SpellCheckingType = _spellCheckingType;
editText.AutocorrectionType = _autocorrectionType;
editText.AutocapitalizationType = _autocapitalizationType;
}
}
}

Просмотреть файл

@ -1,36 +0,0 @@
using System;
using FormsCommunityToolkit.Effects.iOS.Effects;
using Foundation;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportEffect(typeof(ItalicPlaceholderEffect), nameof(ItalicPlaceholderEffect))]
namespace FormsCommunityToolkit.Effects.iOS.Effects
{
[Preserve(AllMembers = true)]
public class ItalicPlaceholderEffect : PlatformEffect
{
private NSAttributedString _old;
protected override void OnAttached()
{
var entry = Control as UITextField;
if (entry != null && !string.IsNullOrWhiteSpace(entry.Placeholder))
{
_old = entry.AttributedPlaceholder;
var entryFontSize = entry.Font.PointSize;
entry.AttributedPlaceholder = new NSAttributedString(entry.Placeholder, font: UIFont.ItalicSystemFontOfSize(entryFontSize));
}
}
protected override void OnDetached()
{
var entry = Control as UITextField;
if (entry != null)
{
entry.AttributedPlaceholder = _old;
}
}
}
}

Просмотреть файл

@ -1,37 +0,0 @@
using System;
using System.Linq;
using FormsCommunityToolkit.Effects.iOS.Effects;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportEffect(typeof(MultiLineLabelEffect), nameof(MultiLineLabelEffect))]
namespace FormsCommunityToolkit.Effects.iOS.Effects
{
public class MultiLineLabelEffect : PlatformEffect
{
private nint _initialeLines;
protected override void OnAttached()
{
UILabel control = Control as UILabel;
if (control != null)
{
_initialeLines = control.Lines;
var effect = (FormsCommunityToolkit.Effects.MultiLineLabelEffect)Element.Effects.FirstOrDefault(item => item is FormsCommunityToolkit.Effects.MultiLineLabelEffect);
if (effect != null && effect.Lines > 0)
control.Lines = effect.Lines;
}
}
protected override void OnDetached()
{
UILabel control = Control as UILabel;
if (control != null)
control.Lines = _initialeLines;
}
}
}

Просмотреть файл

@ -1,33 +0,0 @@
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
using FormsCommunityToolkit.Effects.iOS.Effects;
using UIKit;
using Foundation;
[assembly: ExportEffect(typeof(RemoveBorderEffect), nameof(RemoveBorderEffect))]
namespace FormsCommunityToolkit.Effects.iOS.Effects
{
[Preserve(AllMembers = true)]
public class RemoveBorderEffect : PlatformEffect
{
private UITextBorderStyle _old;
protected override void OnAttached()
{
var editText = Control as UITextField;
if (editText != null)
{
_old = editText.BorderStyle;
editText.BorderStyle = UITextBorderStyle.None;
}
}
protected override void OnDetached()
{
var editText = Control as UITextField;
if (editText != null)
editText.BorderStyle = _old;
}
}
}

Просмотреть файл

@ -1,39 +0,0 @@
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
using FormsCommunityToolkit.Effects.iOS.Effects;
using UIKit;
using Foundation;
using ObjCRuntime;
[assembly: ExportEffect(typeof(SelectAllTextEntryEffect), nameof(SelectAllTextEntryEffect))]
namespace FormsCommunityToolkit.Effects.iOS.Effects
{
[Preserve(AllMembers = true)]
public class SelectAllTextEntryEffect : PlatformEffect
{
protected override void OnAttached()
{
var editText = Control as UITextField;
if (editText != null)
{
editText.EditingDidBegin += (object sender, System.EventArgs e) =>
{
editText.PerformSelector(new Selector("selectAll"), null, 0.0f);
};
}
}
protected override void OnDetached()
{
var editText = Control as UITextField;
if (editText != null) {
editText.EditingDidBegin -= (object sender, System.EventArgs e) =>
{
editText.PerformSelector(new Selector("selectAll"), null, 0.0f);
};
}
}
}
}

Просмотреть файл

@ -1,51 +0,0 @@
using System;
using System.ComponentModel;
using System.Drawing;
using FormsCommunityToolkit.Effects.iOS;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportEffect (typeof (ViewBlurEffect), nameof (ViewBlurEffect))]
namespace FormsCommunityToolkit.Effects.iOS
{
public class ViewBlurEffect : PlatformEffect
{
public ViewBlurEffect ()
{
}
protected override void OnElementPropertyChanged (PropertyChangedEventArgs args)
{
base.OnElementPropertyChanged (args);
var visualElement = Element as VisualElement;
if (visualElement == null)
return;
if (args.PropertyName == nameof (visualElement.Width) || args.PropertyName == nameof (visualElement.Height)) {
var blurAmount = (double)Element.GetValue (BlurEffect.BlurAmountProperty);
var blur = UIBlurEffect.FromStyle (UIBlurEffectStyle.Light);
var blurView = new UIVisualEffectView (blur) {
Alpha = (nfloat)blurAmount,
Frame = new RectangleF (0, 0, (float)((VisualElement)Element).Width,
(float)((VisualElement)Element).Height)
};
Control.Add (blurView);
}
}
protected override void OnAttached ()
{
}
protected override void OnDetached ()
{
}
}
}

Просмотреть файл

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Xamarin.Forms" version="2.3.3.175" targetFramework="xamarinios10" />
</packages>

Просмотреть файл

@ -1,11 +0,0 @@
using Xamarin.Forms;
namespace FormsCommunityToolkit.Effects
{
public class CapitalizeKeyboardEffect : RoutingEffect
{
public CapitalizeKeyboardEffect() : base("FormsCommunityToolkit.Effects.CapitalizeKeyboardEffect")
{
}
}
}

Просмотреть файл

@ -1,15 +0,0 @@
using System;
using Xamarin.Forms;
namespace FormsCommunityToolkit.Effects
{
/// <summary>
/// When attached to a Xamarin.Forms.Entry control, disables auto-suggestion, auto-capitilisation and auto-correction for entered text.
/// </summary>
public class DisableAutoCorrectEffect : RoutingEffect
{
public DisableAutoCorrectEffect() : base("FormsCommunityToolkit.Effects.DisableAutoCorrectEffect")
{
}
}
}

Просмотреть файл

@ -1,11 +0,0 @@
using Xamarin.Forms;
namespace FormsCommunityToolkit.Effects
{
public class SelectAllTextEntryEffect : RoutingEffect
{
public SelectAllTextEntryEffect() : base("FormsCommunityToolkit.Effects.SelectAllTextEntryEffect")
{
}
}
}

Просмотреть файл

@ -1,19 +0,0 @@
Any raw assets you want to be deployed with your application can be placed in
this directory (and child directories) and given a Build Action of "AndroidAsset".
These files will be deployed with you package and will be accessible using Android's
AssetManager, like this:
public class ReadAsset : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
InputStream input = Assets.Open ("my_asset.txt");
}
}
Additionally, some Android functions will automatically load asset files:
Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");

Двоичный файл не отображается.

Просмотреть файл

@ -1,156 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{EF351F63-9603-42E8-A289-A4F2312ACBA9}</ProjectGuid>
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>FormsCommunityToolkit.Effects.SampleApp.Droid</RootNamespace>
<AssemblyName>FormsCommunityToolkit.Effects.SampleApp.Droid</AssemblyName>
<FileAlignment>512</FileAlignment>
<AndroidApplication>true</AndroidApplication>
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
<AndroidUseLatestPlatformSdk>true</AndroidUseLatestPlatformSdk>
<TargetFrameworkVersion>v7.0</TargetFrameworkVersion>
<AndroidSupportedAbis>armeabi,armeabi-v7a,x86</AndroidSupportedAbis>
<AndroidStoreUncompressedFileExtensions />
<MandroidI18n />
<JavaMaximumHeapSize />
<JavaOptions />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidUseSharedRuntime>True</AndroidUseSharedRuntime>
<AndroidLinkMode>None</AndroidLinkMode>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
<AndroidLinkMode>SdkOnly</AndroidLinkMode>
</PropertyGroup>
<ItemGroup>
<Reference Include="Mono.Android" />
<Reference Include="mscorlib" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.ObjectModel" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Xml" />
<Reference Include="Xamarin.Android.Support.Animated.Vector.Drawable, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Animated.Vector.Drawable.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.Design, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.Design.23.3.0\lib\MonoAndroid43\Xamarin.Android.Support.Design.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v4.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.AppCompat, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.AppCompat.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.CardView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.CardView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.CardView.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.MediaRouter, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.MediaRouter.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.MediaRouter.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.RecyclerView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.RecyclerView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.RecyclerView.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.Vector.Drawable, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Vector.Drawable.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="FormsViewGroup">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\MonoAndroid10\FormsViewGroup.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Core">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\MonoAndroid10\Xamarin.Forms.Core.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Platform.Android">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Platform">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\MonoAndroid10\Xamarin.Forms.Platform.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Forms.Xaml">
<HintPath>..\..\packages\Xamarin.Forms.2.3.3.175\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="MainActivity.cs" />
<Compile Include="Resources\Resource.Designer.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="Resources\AboutResources.txt" />
<None Include="Assets\AboutAssets.txt" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable\icon.png" />
<AndroidResource Include="Resources\drawable-hdpi\icon.png" />
<AndroidResource Include="Resources\drawable-xhdpi\icon.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\icon.png" />
</ItemGroup>
<ItemGroup>
<None Include="Properties\AndroidManifest.xml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\layout\Tabbar.axml" />
<AndroidResource Include="Resources\layout\Toolbar.axml" />
<AndroidResource Include="Resources\values\styles.xml" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects.Droid\FormsCommunityToolkit.Effects.Droid.csproj">
<Project>{88dc2010-be3a-4b86-a72f-3df68413858b}</Project>
<Name>FormsCommunityToolkit.Effects.Droid</Name>
</ProjectReference>
<ProjectReference Include="..\..\FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects\FormsCommunityToolkit.Effects.csproj">
<Project>{67f9d3a8-f71e-4428-913f-c37ae82cdb24}</Project>
<Name>FormsCommunityToolkit.Effects</Name>
</ProjectReference>
<ProjectReference Include="..\Effects.SampleApp\Effects.SampleApp.csproj">
<Project>{FA490CC2-5633-4AA2-9242-FB3204BC3A00}</Project>
<Name>Effects.SampleApp</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<AndroidAsset Include="Assets\ComicSaaaaaans.ttf" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
<Import Project="..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets'))" />
</Target>
<Import Project="..\..\packages\Xamarin.Forms.2.3.3.175\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.3.3.175\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.targets')" />
</Project>

Просмотреть файл

@ -1,28 +0,0 @@
using System;
using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using System.Reflection;
namespace FormsCommunityToolkit.Effects.SampleApp.Droid
{
[Activity(Label = "FormsCommunityToolkit.Effects.SampleApp", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App());
}
}
}

Просмотреть файл

@ -1,162 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{EF351F63-9603-42E8-A289-A4F2312ACBA9}</ProjectGuid>
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Organon.XForms.SampleApp.Droid</RootNamespace>
<AssemblyName>Organon.XForms.SampleApp.Droid</AssemblyName>
<FileAlignment>512</FileAlignment>
<AndroidApplication>true</AndroidApplication>
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
<AndroidUseLatestPlatformSdk>true</AndroidUseLatestPlatformSdk>
<TargetFrameworkVersion>v6.0</TargetFrameworkVersion>
<AndroidSupportedAbis>armeabi,armeabi-v7a,x86</AndroidSupportedAbis>
<AndroidStoreUncompressedFileExtensions />
<MandroidI18n />
<JavaMaximumHeapSize />
<JavaOptions />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidUseSharedRuntime>True</AndroidUseSharedRuntime>
<AndroidLinkMode>None</AndroidLinkMode>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
<AndroidLinkMode>SdkOnly</AndroidLinkMode>
</PropertyGroup>
<ItemGroup>
<Reference Include="FormsViewGroup, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\FormsViewGroup.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Mono.Android" />
<Reference Include="mscorlib" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.ObjectModel" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Xml" />
<Reference Include="Xamarin.Android.Support.Animated.Vector.Drawable, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Animated.Vector.Drawable.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.Design, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.Design.23.3.0\lib\MonoAndroid43\Xamarin.Android.Support.Design.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v4.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.AppCompat, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.AppCompat.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.CardView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.CardView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.CardView.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.MediaRouter, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.MediaRouter.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.MediaRouter.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.v7.RecyclerView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.v7.RecyclerView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.RecyclerView.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Android.Support.Vector.Drawable, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Vector.Drawable.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Forms.Platform, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Platform.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Forms.Platform.Android, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Xamarin.Forms.Xaml, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll</HintPath>
<Private>True</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="MainActivity.cs" />
<Compile Include="Resources\Resource.Designer.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="Resources\AboutResources.txt" />
<None Include="Assets\AboutAssets.txt" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\drawable\icon.png" />
<AndroidResource Include="Resources\drawable-hdpi\icon.png" />
<AndroidResource Include="Resources\drawable-xhdpi\icon.png" />
<AndroidResource Include="Resources\drawable-xxhdpi\icon.png" />
</ItemGroup>
<ItemGroup>
<None Include="Properties\AndroidManifest.xml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\layout\Tabbar.axml" />
<AndroidResource Include="Resources\layout\Toolbar.axml" />
<AndroidResource Include="Resources\values\styles.xml" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Organon.XForms.Effects\Organon.XForms.Effects.Droid\Organon.XForms.Effects.Droid.csproj">
<Project>{88dc2010-be3a-4b86-a72f-3df68413858b}</Project>
<Name>Organon.XForms.Effects.Droid</Name>
</ProjectReference>
<ProjectReference Include="..\..\Organon.XForms.Effects\Organon.XForms.Effects\Organon.XForms.Effects.csproj">
<Project>{67f9d3a8-f71e-4428-913f-c37ae82cdb24}</Project>
<Name>Organon.XForms.Effects</Name>
</ProjectReference>
<ProjectReference Include="..\Organon.XForms.SampleApp\Organon.XForms.SampleApp.csproj">
<Project>{FA490CC2-5633-4AA2-9242-FB3204BC3A00}</Project>
<Name>Organon.XForms.SampleApp</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<AndroidAsset Include="Assets\ComicSaaaaaans.ttf" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
<Import Project="..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets'))" />
<Error Condition="!Exists('..\..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" />
</Target>
<Import Project="..\..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
</Project>

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше