P41.ViewBindingsGenerator
0.2.0-alpha.0
dotnet add package P41.ViewBindingsGenerator --version 0.2.0-alpha.0
NuGet\Install-Package P41.ViewBindingsGenerator -Version 0.2.0-alpha.0
<PackageReference Include="P41.ViewBindingsGenerator" Version="0.2.0-alpha.0" />
paket add P41.ViewBindingsGenerator --version 0.2.0-alpha.0
#r "nuget: P41.ViewBindingsGenerator, 0.2.0-alpha.0"
// Install P41.ViewBindingsGenerator as a Cake Addin #addin nuget:?package=P41.ViewBindingsGenerator&version=0.2.0-alpha.0&prerelease // Install P41.ViewBindingsGenerator as a Cake Tool #tool nuget:?package=P41.ViewBindingsGenerator&version=0.2.0-alpha.0&prerelease
ViewBindingsGenerator
A project that generates a partial class (view) for Activities/Fragments that will contain properties with the same name as their android:id
in the xml view file.
Getting Started
Add the following property to your csproj
inside an ItemGroup
<AdditionalFiles Include="Resources\layout\*.xml" OutputType="Analyzer" />
Then make your activity or fragment partial and add the [GenerateBindings("view_file.xml")]
attribute.
Activity
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
[GenerateBindings("activity_main.xml")]
public partial class MainActivity : AppCompatActivity
{
protected override void OnCreate(Bundle? savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity_main);
}
}
Fragment
[GenerateBindings("fragment_main.xml")]
public partial class MainFragment : Fragment
{
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
return inflater.Inflate(Resource.Layout.fragment_main, container, false)!;
}
}
Build
Install Visual Studio 2022 Preview and .NET 6.0
Clone the project and open the solution then you just build the whole solution or project.
Contribute
Contributions are welcome and appreciated, before you create a pull request please open a GitHub Issue to discuss what needs changing and or fixing if the issue doesn't exist!
Credits
This library was created by reading some posts from Andrew Lock like this or this and by observing how the jab project was coded.
The posts are great plus there are a lot more to read and jab is a really great library, you should check them out!
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.2.0-alpha.0 | 148 | 1/28/2022 |
0.1.1-alpha.4 | 181 | 10/2/2021 |
0.1.1-alpha.3 | 175 | 10/1/2021 |
0.1.1-alpha.2 | 143 | 10/1/2021 |
0.1.1-alpha.0 | 151 | 9/29/2021 |
0.1.0-alpha.0 | 199 | 9/11/2021 |