Skip to content

Commit f73674b

Browse files
authored
Merge pull request #16 from MADE-Apps/feature/dropdownlist-uno
#15 - Updated DropDownList to support Uno Platform
2 parents 2b3d1e7 + 8f107d1 commit f73674b

35 files changed

+509
-55
lines changed

docs/articles/features/ui-controls-dropdownlist.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: Using the DropDownList control
55

66
# Using the DropDownList control
77

8-
The `MADE.UI.Controls.DropDownList` element is a custom-built UI element for Windows (UWP) applications that provides a selection user experience, allowing a user to select one or multiple items from a list.
8+
The `MADE.UI.Controls.DropDownList` element is a custom-built UI element that works with [Uno's supported platforms](https://platform.uno/) that provides a selection user experience, allowing a user to select one or multiple items from a list.
99

1010
The control works in a similar way to the `ComboBox` element in the Windows SDK, with the added extensibility to change modes to select multiple items.
1111

samples/MADE.Samples/MADE.Samples.Droid/MADE.Samples.Droid.csproj

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<AndroidUseAapt2>true</AndroidUseAapt2>
1818
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
1919
<AndroidUseLatestPlatformSdk>False</AndroidUseLatestPlatformSdk>
20-
<TargetFrameworkVersion>v10.0</TargetFrameworkVersion>
20+
<TargetFrameworkVersion>v12.0</TargetFrameworkVersion>
2121
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
2222
<AndroidUseIntermediateDesignerFile>True</AndroidUseIntermediateDesignerFile>
2323
<ResourcesDirectory>..\MADE.Samples.Shared\Strings</ResourcesDirectory>
@@ -74,13 +74,22 @@
7474
<PackageReference Include="Microsoft.Extensions.DependencyInjection">
7575
<Version>5.0.2</Version>
7676
</PackageReference>
77+
<PackageReference Include="Microsoft.Extensions.Logging">
78+
<Version>5.0.0</Version>
79+
</PackageReference>
80+
<PackageReference Include="Microsoft.Extensions.Logging.Console">
81+
<Version>5.0.0</Version>
82+
</PackageReference>
7783
<PackageReference Include="Uno.ColorCode.UWP">
7884
<Version>2.1.0-uno.32</Version>
7985
</PackageReference>
8086
<PackageReference Include="Uno.Microsoft.Toolkit.Uwp.UI.Controls.Primitives">
8187
<Version>7.1.11</Version>
8288
</PackageReference>
8389
<PackageReference Include="Uno.UI" Version="4.0.13" />
90+
<PackageReference Include="Uno.UI.Adapter.Microsoft.Extensions.Logging">
91+
<Version>4.0.13</Version>
92+
</PackageReference>
8493
<PackageReference Include="Uno.UI.RemoteControl" Version="4.0.13" Condition="'$(Configuration)'=='Debug'" />
8594
<PackageReference Include="Uno.UniversalImageLoader" Version="1.9.35" />
8695
</ItemGroup>
@@ -97,9 +106,6 @@
97106
<ItemGroup>
98107
<AndroidResource Include="Resources\values\Strings.xml" />
99108
</ItemGroup>
100-
<ItemGroup>
101-
<AndroidResource Include="Resources\drawable\Icon.png" />
102-
</ItemGroup>
103109
<ItemGroup>
104110
<None Include="Properties\AndroidManifest.xml" />
105111
</ItemGroup>
@@ -111,6 +117,10 @@
111117
<Project>{d1a16208-5a34-4cc1-b175-01b5ac99e69e}</Project>
112118
<Name>MADE.UI.Controls.ChipBox</Name>
113119
</ProjectReference>
120+
<ProjectReference Include="..\..\..\src\MADE.UI.Controls.DropDownList\MADE.UI.Controls.DropDownList.csproj">
121+
<Project>{347cdc37-e140-42fa-8710-a0f3297d2b6b}</Project>
122+
<Name>MADE.UI.Controls.DropDownList</Name>
123+
</ProjectReference>
114124
<ProjectReference Include="..\..\..\src\MADE.UI.Controls.FilePicker\MADE.UI.Controls.FilePicker.csproj">
115125
<Project>{774fd8d5-ccc1-4eed-aa14-f7069bfae5ce}</Project>
116126
<Name>MADE.UI.Controls.FilePicker</Name>
@@ -144,6 +154,41 @@
144154
<Name>MADE.UI</Name>
145155
</ProjectReference>
146156
</ItemGroup>
157+
<ItemGroup>
158+
<AndroidResource Include="Resources\mipmap-hdpi\icon.png">
159+
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
160+
</AndroidResource>
161+
</ItemGroup>
162+
<ItemGroup>
163+
<AndroidResource Include="Resources\mipmap-ldpi\icon.png">
164+
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
165+
</AndroidResource>
166+
</ItemGroup>
167+
<ItemGroup>
168+
<AndroidResource Include="Resources\mipmap-mdpi\icon.png">
169+
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
170+
</AndroidResource>
171+
</ItemGroup>
172+
<ItemGroup>
173+
<AndroidResource Include="Resources\mipmap-tvdpi\icon.png">
174+
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
175+
</AndroidResource>
176+
</ItemGroup>
177+
<ItemGroup>
178+
<AndroidResource Include="Resources\mipmap-xhdpi\icon.png">
179+
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
180+
</AndroidResource>
181+
</ItemGroup>
182+
<ItemGroup>
183+
<AndroidResource Include="Resources\mipmap-xxhdpi\icon.png">
184+
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
185+
</AndroidResource>
186+
</ItemGroup>
187+
<ItemGroup>
188+
<AndroidResource Include="Resources\mipmap-xxxhdpi\icon.png">
189+
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
190+
</AndroidResource>
191+
</ItemGroup>
147192
<Import Project="..\MADE.Samples.Shared\MADE.Samples.Shared.projitems" Label="Shared" Condition="Exists('..\MADE.Samples.Shared\MADE.Samples.Shared.projitems')" />
148193
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
149194
<!-- This will force the generation of the APK when not building inside visual studio -->

samples/MADE.Samples/MADE.Samples.Droid/Main.cs

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -14,30 +14,29 @@
1414

1515
namespace MADE.Samples.Droid
1616
{
17-
[global::Android.App.ApplicationAttribute(
18-
Label = "@string/ApplicationName",
19-
LargeHeap = true,
20-
HardwareAccelerated = true,
21-
Theme = "@style/AppTheme"
22-
)]
23-
public class Application : Windows.UI.Xaml.NativeApplication
24-
{
25-
public Application(IntPtr javaReference, JniHandleOwnership transfer)
26-
: base(() => new App(), javaReference, transfer)
27-
{
28-
ConfigureUniversalImageLoader();
29-
}
17+
[global::Android.App.ApplicationAttribute(
18+
Label = "@string/ApplicationName",
19+
Icon = "@mipmap/icon",
20+
LargeHeap = true,
21+
HardwareAccelerated = true,
22+
Theme = "@style/AppTheme"
23+
)]
24+
public class Application : Windows.UI.Xaml.NativeApplication
25+
{
26+
public Application(IntPtr javaReference, JniHandleOwnership transfer)
27+
: base(() => new App(), javaReference, transfer)
28+
{
29+
ConfigureUniversalImageLoader();
30+
}
3031

31-
private void ConfigureUniversalImageLoader()
32-
{
33-
// Create global configuration and initialize ImageLoader with this config
34-
ImageLoaderConfiguration config = new ImageLoaderConfiguration
35-
.Builder(Context)
36-
.Build();
32+
private void ConfigureUniversalImageLoader()
33+
{
34+
// Create global configuration and initialize ImageLoader with this config
35+
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(Context).Build();
3736

38-
ImageLoader.Instance.Init(config);
37+
ImageLoader.Instance.Init(config);
3938

40-
ImageSource.DefaultImageLoader = ImageLoader.Instance.LoadImageAsync;
41-
}
42-
}
43-
}
39+
ImageSource.DefaultImageLoader = ImageLoader.Instance.LoadImageAsync;
40+
}
41+
}
42+
}

samples/MADE.Samples/MADE.Samples.Droid/MainActivity.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Android.App;
1+
using Android.App;
22
using Android.Widget;
33
using Android.OS;
44
using Android.Content.PM;
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="MADE.Samples" android:versionCode="1" android:versionName="1.0">
3-
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="29" />
4-
<application android:label="MADE.Samples"></application>
5-
</manifest>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="MADE.Samples" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
3+
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="31" />
4+
<application android:label="MADE.Samples"></application>
5+
</manifest>
Binary file not shown.
2.55 KB
Loading
1.22 KB
Loading
1.73 KB
Loading
2.37 KB
Loading

0 commit comments

Comments
 (0)