Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
e887025
Add touch event on touchable views
AgustinBonilla Sep 2, 2025
e5cbb3c
Add touch event samples
AgustinBonilla Sep 2, 2025
c6d8ca7
Fix touch issue on checkbox
AgustinBonilla Sep 3, 2025
169259b
Create main.yml
AgustinBonilla Sep 15, 2025
195322e
Use Android Dialog on Snackbar
AgustinBonilla Sep 16, 2025
39e99b4
Add CharacterSpacing and LineBreakMode on iOS
AgustinBonilla Sep 16, 2025
b032b68
Add FontAttributes
AgustinBonilla Sep 17, 2025
98a41ef
Update todo list
AgustinBonilla Sep 17, 2025
7e470f9
Update main.yml
AgustinBonilla Sep 17, 2025
5ce9c51
Update main.yml
AgustinBonilla Sep 17, 2025
ca0a16d
Update main.yml
AgustinBonilla Sep 17, 2025
6d5fc50
Rename master pipeline name
AgustinBonilla Sep 17, 2025
ba72ee5
Add develop pipeline
AgustinBonilla Sep 18, 2025
cd6469c
Set write permissions
AgustinBonilla Sep 18, 2025
d1f82b3
Auto-generate docs [skip ci]
github-actions[bot] Sep 18, 2025
5431f5d
Update develop.yml
AgustinBonilla Sep 18, 2025
98504a1
Change namespace to TouchEventArgs, ITouchableView and TouchEventType
AgustinBonilla Sep 18, 2025
9368230
Move LetterSpacingSpan implementation
AgustinBonilla Sep 18, 2025
4d6902a
Change pipelines
AgustinBonilla Sep 18, 2025
053f15d
Update nuget.props
AgustinBonilla Sep 18, 2025
735f0f4
Merge pull request #100 from HorusSoftwareUY/feature/pipelines
pgonzalezmorelli Sep 18, 2025
933a041
Merge pull request #98 from HorusSoftwareUY/feature/touch-event
pgonzalezmorelli Sep 18, 2025
b69e279
Merge pull request #99 from HorusSoftwareUY/feature/snackbar-dialog
pgonzalezmorelli Sep 18, 2025
8d2d696
Auto-generate docs [skip ci]
github-actions[bot] Sep 18, 2025
95b9269
trigger workflow
AgustinBonilla Sep 18, 2025
b27a94f
Add pull request trigger
AgustinBonilla Sep 18, 2025
6b75e9d
Merge branch 'master' into develop
AgustinBonilla Sep 18, 2025
3744c75
Add workflow_dispatch
AgustinBonilla Sep 19, 2025
ac3fa9f
Merge branch 'master' into develop
AgustinBonilla Sep 19, 2025
705999c
Apply improvements to master pipeline
AgustinBonilla Sep 19, 2025
2652696
Change develop pipeline
AgustinBonilla Sep 22, 2025
fdf1e70
Auto-generate docs [skip ci]
github-actions[bot] Sep 22, 2025
412dd70
Remove unused comment
AgustinBonilla Sep 22, 2025
8c99444
Auto-generate docs [skip ci]
github-actions[bot] Sep 22, 2025
a1e6a60
Update MaterialSnackbarBuilder.Android.cs
AgustinBonilla Sep 30, 2025
7321603
Update nuget.props
AgustinBonilla Sep 30, 2025
d830cb0
Update MaterialSnackbarBuilder.Android.cs
AgustinBonilla Sep 30, 2025
6a88698
Merge pull request #105 from HorusSoftwareUY/feature/android-snackbar…
pgonzalezmorelli Sep 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ name: Run the documentation generation tool and push changes to develop branch
on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]
workflow_dispatch:

permissions:
contents: write
Expand All @@ -22,6 +21,8 @@ jobs:

steps:
- uses: actions/checkout@v3
with:
token: ${{ secrets.PAT_TOKEN }}

- name: Setup .NET
uses: actions/setup-dotnet@v4
Expand Down
45 changes: 28 additions & 17 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ name: Build, pack and push HorusStudio.Maui.MaterialDesignControls NuGet package
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
workflow_dispatch:

permissions:
contents: write
Expand Down Expand Up @@ -57,21 +56,35 @@ jobs:
dotnet nuget push "./artifacts/*.nupkg" --source "https://api.nuget.org/v3/index.json" --api-key ${{ secrets.NUGET_API_KEY }} --skip-duplicate
echo "✅ NuGet package published successfully!"

- name: Get version from nupkg
- name: Get version from nuget.props
id: get_version
run: |
FILE=$(ls ./artifacts/*.nupkg | head -n 1)
VERSION=$(echo $FILE | sed -E 's/.*\.([0-9]+\.[0-9]+\.[0-9]+)\.nupkg/\1/')
echo "📦 Extracting version from nuget.props..."
VERSION=$(xmllint --xpath "string(//Project/PropertyGroup/Version)" nuget.props)
echo "Version found: $VERSION"
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "✅ Version extracted successfully!"

- name: Create Git tag
- name: Get release notes from nuget.props
id: get_release_notes
run: |
echo "📦 Creating Git tag..."
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git tag -a "v${{ steps.get_version.outputs.version }}" -m "Release v${{ steps.get_version.outputs.version }}"
git push origin "v${{ steps.get_version.outputs.version }}"
echo "✅ Git tag created and pushed successfully!"
echo "📦 Extracting release notes from nuget.props..."
RELEASE_NOTES=$(xmllint --xpath "string(//Project/PropertyGroup/PackageReleaseNotes)" nuget.props)
echo "Release notes found:"
echo "$RELEASE_NOTES"
echo "release_notes<<EOF" >> $GITHUB_OUTPUT
echo "$RELEASE_NOTES" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
echo "✅ Release notes extracted successfully!"

# - name: Create Git tag
# run: |
# echo "📦 Creating Git tag..."
# git config user.name "github-actions[bot]"
# git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
# git tag -a "v${{ steps.get_version.outputs.version }}" -m "Release v${{ steps.get_version.outputs.version }}"
# git push origin "v${{ steps.get_version.outputs.version }}"
# echo "✅ Git tag created and pushed successfully!"

- name: Create GitHub Release
uses: actions/create-release@v1
Expand All @@ -81,10 +94,8 @@ jobs:
tag_name: ${{ steps.get_version.outputs.version }}
release_name: ${{ steps.get_version.outputs.version }}
body: |
### [NuGet package](https://www.nuget.org/packages/HorusStudio.Maui.MaterialDesignControls/${{ steps.get_version.outputs.version }})
#### New features
-
#### Bug fixes
-
[NuGet package](https://www.nuget.org/packages/HorusStudio.Maui.MaterialDesignControls/${{ steps.get_version.outputs.version }})

${{ steps.get_release_notes.outputs.release_notes }}
draft: true
prerelease: false
9 changes: 2 additions & 7 deletions nuget.props
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project>
<PropertyGroup Condition=" $(MSBuildProjectName.Equals('HorusStudio.Maui.MaterialDesignControls')) ">
<PackageId>HorusStudio.Maui.MaterialDesignControls</PackageId>
<Version>2.1.0</Version>
<Version>2.1.1</Version>
<Authors>Horus Studio and contributors</Authors>
<Company>Horus Studio</Company>
<Title>Material Design Controls for .NET MAUI</Title>
Expand All @@ -15,12 +15,7 @@
<PackageTags>dotnet-maui;dotnet;maui;cross-platform;android;ios;macos;maccatalyst;materialdesign;ui</PackageTags>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageReleaseNotes>
- [BREAKING CHANGE] Change ITouchableView namespace to HorusStudio.Maui.MaterialDesignControls
- [ITouchableView] Add new Touch event and, therefore, to MaterialButton, MaterialCard, MaterialCheckBox, MaterialChip, MaterialIconButton, MaterialRadioButton, MaterialSegmentedButton, MaterialSwitch and MaterialViewButton
- [MaterialCheckbox] Fix touch animation
- [MaterialChip] Fix visual issue when dragging it remained as pressed
- [MaterialSnackbar] Add support for CharacterSpacing, LineBreakMode and FontAttributes
- [Android] [MaterialSnackbar] Show on top of all content
- [Android] [MaterialSnackbar] The background dim/overlay has been removed, and the padding has been adjusted when using an action button.
</PackageReleaseNotes>

<PackageOutputPath>$(MSBuildThisFileDirectory)Artifacts</PackageOutputPath>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
using Android.Graphics;
using Android.OS;
using Android.Text;
using Android.Text.Style;
using Android.Views;
using Android.Widget;
using Google.Android.Material.Snackbar;
Expand All @@ -19,6 +18,7 @@ class MaterialSnackbarBuilder
#region Constants

private const int TextMaxLines = 20;
private const int MinimumHeight = 60;

#endregion Constants

Expand Down Expand Up @@ -55,11 +55,12 @@ public MaterialSnackbarBuilder(Activity activity, MaterialSnackbarConfig config)
}
};

root.SetMinimumHeight(MinimumHeight.DpToPixels());

var insets = root!.GetInsets();
root.SetRoundedBackground(config.BackgroundColor, config.CornerRadius)
.SetMargin(config.Margin, insets)
.SetPadding(config.Padding);

.SetMargin(config.Margin, insets);

if (config.LeadingIcon is not null)
{
_leadingIconView = activity.CreateImageButton(config.LeadingIcon.Source, config.LeadingIcon.Size,
Expand Down Expand Up @@ -98,9 +99,21 @@ public MaterialSnackbarBuilder(Activity activity, MaterialSnackbarConfig config)
_textView!.SetMargin(new Thickness(_leadingIconView is not null ? config.Spacing : 0,0,0,0));
_actionView?.SetMargin(new Thickness(config.Spacing,0,_trailingIconView is not null ? config.Spacing : 0,0));

if (config.Action is not null)
{
root.SetPadding(new Thickness(config.Padding.Left, 0, config.Padding.Right, 0));
_textView?.SetPadding(new Thickness(0, config.Padding.Top, 0, config.Padding.Bottom));
}
else
{
root.SetPadding(config.Padding);
}

_dialog = new Dialog(activity);
_dialog.SetContentView(root);

_dialog.Window?.ClearFlags(WindowManagerFlags.DimBehind);

_dialog.Window?.SetGravity(config.Position);

_dialog.DismissEvent += (s, e) =>
Expand Down
Loading