Skip to content
This repository was archived by the owner on Feb 16, 2021. It is now read-only.

Commit a63f26f

Browse files
committed
Color Choosers
1 parent 4612404 commit a63f26f

File tree

3 files changed

+120
-5
lines changed

3 files changed

+120
-5
lines changed

MaterialDialogs.Commons/MaterialDialogs.Commons.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
</Reference>
8282
</ItemGroup>
8383
<ItemGroup>
84+
<Compile Include="ColorChooserDialog.cs" />
8485
<Compile Include="MaterialSimpleListAdapter.cs" />
8586
<Compile Include="Properties\AssemblyInfo.cs" />
8687
</ItemGroup>

MaterialDialogs.Commons/Transforms/Metadata.xml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
<attr path="/api/package[@name='com.afollestad.materialdialogs.folderselector']"
1919
name="managedName">AFollestad.MaterialDialogs.FolderSelector</attr>
2020

21-
<!-- <remove-node path="/api/package[@name='com.afollestad.materialdialogs.simplelist']/class[@name='MaterialSimpleListAdapter']/method[@name='onBindViewHolder' and count(parameter)=2 and parameter[1][@type='com.afollestad.materialdialogs.simplelist.MaterialSimpleListAdapter.SimpleListVH'] and parameter[2][@type='int']]" />
22-
<remove-node path="/api/package[@name='com.afollestad.materialdialogs.simplelist']/class[@name='MaterialSimpleListAdapter']/method[@name='onCreateViewHolder' and count(parameter)=2 and parameter[1][@type='android.view.ViewGroup'] and parameter[2][@type='int']]" />
23-
-->
21+
<attr path="//parameter[@type='ActivityType']"
22+
name="type">Android.Support.V7.App.AppCompatActivity</attr>
2423
</metadata>

MaterialDialogs.Sample/MainActivity.cs

Lines changed: 117 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using AFollestad.MaterialDialogs.Util;
77
using Android.App;
88
using Android.Graphics;
9+
using Android.Graphics.Drawables;
910
using Android.OS;
1011
using Android.Support.V4.Content;
1112
using Android.Support.V7.App;
@@ -22,10 +23,10 @@
2223
namespace MaterialDialogs.Sample
2324
{
2425
[Activity(Label = "@string/app_name", MainLauncher = true)]
25-
public class MainActivity : AppCompatActivity //,
26+
public class MainActivity : AppCompatActivity,
2627
//FolderChooserDialog.IFolderCallback,
2728
//FileChooserDialog.IFileCallback,
28-
//ColorChooserDialog.IColorCallback
29+
ColorChooserDialog.IColorCallback
2930
{
3031
const int StoragePermissionRC = 69;
3132

@@ -530,6 +531,120 @@ public void ShowCustomDatePicker(object sender, EventArgs e)
530531
}
531532

532533
#endregion
534+
535+
#region Color Choosers
536+
537+
[OnClick(Resource.Id.colorChooser_primary)]
538+
public void ShowColorChooserPrimary(object sender, EventArgs e)
539+
{
540+
new ColorChooserDialog.Builder(this, Resource.String.color_palette)
541+
.TitleSub(Resource.String.colors)
542+
.Preselect(primaryPreselect)
543+
.Show();
544+
}
545+
546+
[OnClick(Resource.Id.colorChooser_accent)]
547+
public void ShowColorChooserAccent(object sender, EventArgs e)
548+
{
549+
new ColorChooserDialog.Builder(this, Resource.String.color_palette)
550+
.TitleSub(Resource.String.colors)
551+
.AccentMode(true)
552+
.Preselect(accentPreselect)
553+
.Show();
554+
}
555+
556+
[OnClick(Resource.Id.colorChooser_customColors)]
557+
public void ShowColorChooserCustomColors(object sender, EventArgs e)
558+
{
559+
int[][] subColors = new int[][]
560+
{
561+
new int[]
562+
{
563+
Color.ParseColor("#EF5350").ToArgb(),
564+
Color.ParseColor("#F44336").ToArgb(),
565+
Color.ParseColor("#E53935").ToArgb()
566+
},
567+
new int[]
568+
{
569+
Color.ParseColor("#EC407A").ToArgb(),
570+
Color.ParseColor("#E91E63").ToArgb(),
571+
Color.ParseColor("#D81B60").ToArgb()
572+
},
573+
new int[]
574+
{
575+
Color.ParseColor("#AB47BC").ToArgb(),
576+
Color.ParseColor("#9C27B0").ToArgb(),
577+
Color.ParseColor("#8E24AA").ToArgb()
578+
},
579+
new int[]
580+
{
581+
Color.ParseColor("#7E57C2").ToArgb(),
582+
Color.ParseColor("#673AB7").ToArgb(),
583+
Color.ParseColor("#5E35B1").ToArgb()
584+
},
585+
new int[]
586+
{
587+
Color.ParseColor("#5C6BC0").ToArgb(),
588+
Color.ParseColor("#3F51B5").ToArgb(),
589+
Color.ParseColor("#3949AB").ToArgb()
590+
},
591+
new int[]
592+
{
593+
Color.ParseColor("#42A5F5").ToArgb(),
594+
Color.ParseColor("#2196F3").ToArgb(),
595+
Color.ParseColor("#1E88E5").ToArgb()
596+
}
597+
};
598+
599+
new ColorChooserDialog.Builder(this, Resource.String.color_palette)
600+
.TitleSub(Resource.String.colors)
601+
.Preselect(primaryPreselect)
602+
.CustomColors(Resource.Array.custom_colors, subColors)
603+
.Show();
604+
}
605+
606+
[OnClick(Resource.Id.colorChooser_customColorsNoSub)]
607+
public void ShowColorChooserCustomColorsNoSub(object sender, EventArgs e)
608+
{
609+
new ColorChooserDialog.Builder(this, Resource.String.color_palette)
610+
.TitleSub(Resource.String.colors)
611+
.Preselect(primaryPreselect)
612+
.CustomColors(Resource.Array.custom_colors, null)
613+
.Show();
614+
}
615+
616+
#region ColorChooserDialog.IColorCallback implementation
617+
618+
public void OnColorSelection(ColorChooserDialog dialog, int color)
619+
{
620+
if (dialog.IsAccentMode)
621+
{
622+
accentPreselect = color;
623+
ThemeSingleton.Get().PositiveColor = DialogUtils.GetActionTextStateList(this, color);
624+
ThemeSingleton.Get().NeutralColor = DialogUtils.GetActionTextStateList(this, color);
625+
ThemeSingleton.Get().NegativeColor = DialogUtils.GetActionTextStateList(this, color);
626+
ThemeSingleton.Get().WidgetColor = color;
627+
}
628+
else
629+
{
630+
primaryPreselect = color;
631+
SupportActionBar?.SetBackgroundDrawable(new ColorDrawable(new Color(color)));
632+
if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
633+
{
634+
Window.SetStatusBarColor(new Color(CircleView.ShiftColorDown(color)));
635+
Window.SetNavigationBarColor(new Color(color));
636+
}
637+
}
638+
}
639+
640+
public void OnColorChooserDismissed(ColorChooserDialog dialog)
641+
{
642+
ShowToast("Color chooser dismissed!");
643+
}
644+
645+
#endregion
646+
647+
#endregion
533648
}
534649
}
535650

0 commit comments

Comments
 (0)