Skip to content

Commit 7244be2

Browse files
committed
XAMARIN-34091 - Sample added.
1 parent 828a891 commit 7244be2

File tree

97 files changed

+11704
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+11704
-0
lines changed

ListViewXamarin/ListViewXamarin.sln

Lines changed: 337 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Any raw assets you want to be deployed with your application can be placed in
2+
this directory (and child directories) and given a Build Action of "AndroidAsset".
3+
4+
These files will be deployed with you package and will be accessible using Android's
5+
AssetManager, like this:
6+
7+
public class ReadAsset : Activity
8+
{
9+
protected override void OnCreate (Bundle bundle)
10+
{
11+
base.OnCreate (bundle);
12+
13+
InputStream input = Assets.Open ("my_asset.txt");
14+
}
15+
}
16+
17+
Additionally, some Android functions will automatically load asset files:
18+
19+
Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6+
<ProjectGuid>{3F733215-05A9-40C6-86EF-49267F2AFB95}</ProjectGuid>
7+
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
8+
<TemplateGuid>{c9e5eea5-ca05-42a1-839b-61506e0a37df}</TemplateGuid>
9+
<OutputType>Library</OutputType>
10+
<RootNamespace>ListViewPrism.Droid</RootNamespace>
11+
<AssemblyName>ListViewPrism.Android</AssemblyName>
12+
<AndroidApplication>True</AndroidApplication>
13+
<AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile>
14+
<AndroidResgenClass>Resource</AndroidResgenClass>
15+
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
16+
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
17+
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
18+
<AndroidUseLatestPlatformSdk>false</AndroidUseLatestPlatformSdk>
19+
<TargetFrameworkVersion>v8.1</TargetFrameworkVersion>
20+
<AndroidHttpClientHandlerType>Xamarin.Android.Net.AndroidClientHandler</AndroidHttpClientHandlerType>
21+
<NuGetPackageImportStamp>
22+
</NuGetPackageImportStamp>
23+
</PropertyGroup>
24+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
25+
<DebugSymbols>true</DebugSymbols>
26+
<DebugType>portable</DebugType>
27+
<Optimize>false</Optimize>
28+
<OutputPath>bin\Debug</OutputPath>
29+
<DefineConstants>DEBUG;</DefineConstants>
30+
<ErrorReport>prompt</ErrorReport>
31+
<WarningLevel>4</WarningLevel>
32+
<AndroidLinkMode>None</AndroidLinkMode>
33+
</PropertyGroup>
34+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
35+
<DebugSymbols>true</DebugSymbols>
36+
<DebugType>pdbonly</DebugType>
37+
<Optimize>true</Optimize>
38+
<OutputPath>bin\Release</OutputPath>
39+
<ErrorReport>prompt</ErrorReport>
40+
<WarningLevel>4</WarningLevel>
41+
<AndroidManagedSymbols>true</AndroidManagedSymbols>
42+
<AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
43+
</PropertyGroup>
44+
<ItemGroup>
45+
<Reference Include="Mono.Android" />
46+
<Reference Include="System" />
47+
<Reference Include="System.Core" />
48+
<Reference Include="System.Xml.Linq" />
49+
<Reference Include="System.Xml" />
50+
</ItemGroup>
51+
<ItemGroup>
52+
<PackageReference Include="Prism.Core">
53+
<Version>7.1.0.431</Version>
54+
</PackageReference>
55+
<PackageReference Include="Prism.Forms">
56+
<Version>7.1.0.431</Version>
57+
</PackageReference>
58+
<PackageReference Include="Prism.Unity.Forms">
59+
<Version>7.1.0.431</Version>
60+
</PackageReference>
61+
<PackageReference Include="Syncfusion.Xamarin.SfListView">
62+
<Version>17.1.0.44</Version>
63+
</PackageReference>
64+
<PackageReference Include="Syncfusion.Xamarin.SfPullToRefresh">
65+
<Version>17.1.0.47</Version>
66+
</PackageReference>
67+
<PackageReference Include="Xamarin.Forms" Version="3.6.0.344457" />
68+
</ItemGroup>
69+
<ItemGroup>
70+
<Compile Include="MainActivity.cs" />
71+
<Compile Include="Resources\Resource.Designer.cs" />
72+
<Compile Include="Properties\AssemblyInfo.cs" />
73+
</ItemGroup>
74+
<ItemGroup>
75+
<None Include="Resources\AboutResources.txt" />
76+
<None Include="Assets\AboutAssets.txt" />
77+
<None Include="Properties\AndroidManifest.xml" />
78+
</ItemGroup>
79+
<ItemGroup>
80+
<AndroidResource Include="Resources\layout\Tabbar.axml" />
81+
<AndroidResource Include="Resources\layout\Toolbar.axml" />
82+
<AndroidResource Include="Resources\values\styles.xml" />
83+
<AndroidResource Include="Resources\values\colors.xml" />
84+
<AndroidResource Include="Resources\mipmap-anydpi-v26\icon.xml" />
85+
<AndroidResource Include="Resources\mipmap-anydpi-v26\icon_round.xml" />
86+
<AndroidResource Include="Resources\mipmap-hdpi\Icon.png" />
87+
<AndroidResource Include="Resources\mipmap-hdpi\launcher_foreground.png" />
88+
<AndroidResource Include="Resources\mipmap-mdpi\Icon.png" />
89+
<AndroidResource Include="Resources\mipmap-mdpi\launcher_foreground.png" />
90+
<AndroidResource Include="Resources\mipmap-xhdpi\Icon.png" />
91+
<AndroidResource Include="Resources\mipmap-xhdpi\launcher_foreground.png" />
92+
<AndroidResource Include="Resources\mipmap-xxhdpi\Icon.png" />
93+
<AndroidResource Include="Resources\mipmap-xxhdpi\launcher_foreground.png" />
94+
<AndroidResource Include="Resources\mipmap-xxxhdpi\Icon.png" />
95+
<AndroidResource Include="Resources\mipmap-xxxhdpi\launcher_foreground.png" />
96+
</ItemGroup>
97+
<ItemGroup>
98+
<Folder Include="Resources\drawable-hdpi\" />
99+
<Folder Include="Resources\drawable-xhdpi\" />
100+
<Folder Include="Resources\drawable-xxhdpi\" />
101+
<Folder Include="Resources\drawable-xxxhdpi\" />
102+
</ItemGroup>
103+
<ItemGroup>
104+
<ProjectReference Include="..\ListViewXamarin\ListViewXamarin.csproj">
105+
<Project>{2AA5BDD5-A856-4B22-AECE-7B80DAC592E0}</Project>
106+
<Name>ListViewXamarin</Name>
107+
</ProjectReference>
108+
</ItemGroup>
109+
<ItemGroup>
110+
<AndroidResource Include="Resources\drawable\DragIndicator.png" />
111+
</ItemGroup>
112+
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
113+
</Project>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using System;
2+
3+
using Android.App;
4+
using Android.Content.PM;
5+
using Android.Runtime;
6+
using Android.Views;
7+
using Android.Widget;
8+
using Android.OS;
9+
using ListViewPrism.Droid;
10+
11+
namespace ListViewXamarin.Droid
12+
{
13+
[Activity(Label = "ListViewXamarin", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
14+
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
15+
{
16+
protected override void OnCreate(Bundle savedInstanceState)
17+
{
18+
TabLayoutResource = Resource.Layout.Tabbar;
19+
ToolbarResource = Resource.Layout.Toolbar;
20+
21+
base.OnCreate(savedInstanceState);
22+
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
23+
LoadApplication(new App());
24+
}
25+
}
26+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.ListViewXamarin">
3+
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="27" />
4+
<application android:label="ListViewXamarin.Android"></application>
5+
</manifest>
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using System.Reflection;
2+
using System.Runtime.CompilerServices;
3+
using System.Runtime.InteropServices;
4+
using Android.App;
5+
6+
// General Information about an assembly is controlled through the following
7+
// set of attributes. Change these attribute values to modify the information
8+
// associated with an assembly.
9+
[assembly: AssemblyTitle("ListViewXamarin.Android")]
10+
[assembly: AssemblyDescription("")]
11+
[assembly: AssemblyConfiguration("")]
12+
[assembly: AssemblyCompany("")]
13+
[assembly: AssemblyProduct("ListViewXamarin.Android")]
14+
[assembly: AssemblyCopyright("Copyright © 2014")]
15+
[assembly: AssemblyTrademark("")]
16+
[assembly: AssemblyCulture("")]
17+
[assembly: ComVisible(false)]
18+
19+
// Version information for an assembly consists of the following four values:
20+
//
21+
// Major Version
22+
// Minor Version
23+
// Build Number
24+
// Revision
25+
//
26+
// You can specify all the values or you can default the Build and Revision Numbers
27+
// by using the '*' as shown below:
28+
// [assembly: AssemblyVersion("1.0.*")]
29+
[assembly: AssemblyVersion("1.0.0.0")]
30+
[assembly: AssemblyFileVersion("1.0.0.0")]
31+
32+
// Add some common permissions, these can be removed if not needed
33+
[assembly: UsesPermission(Android.Manifest.Permission.Internet)]
34+
[assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)]
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
Images, layout descriptions, binary blobs and string dictionaries can be included
2+
in your application as resource files. Various Android APIs are designed to
3+
operate on the resource IDs instead of dealing with images, strings or binary blobs
4+
directly.
5+
6+
For example, a sample Android app that contains a user interface layout (main.xml),
7+
an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
8+
would keep its resources in the "Resources" directory of the application:
9+
10+
Resources/
11+
drawable-hdpi/
12+
icon.png
13+
14+
drawable-ldpi/
15+
icon.png
16+
17+
drawable-mdpi/
18+
icon.png
19+
20+
layout/
21+
main.xml
22+
23+
values/
24+
strings.xml
25+
26+
In order to get the build system to recognize Android resources, set the build action to
27+
"AndroidResource". The native Android APIs do not operate directly with filenames, but
28+
instead operate on resource IDs. When you compile an Android application that uses resources,
29+
the build system will package the resources for distribution and generate a class called
30+
"Resource" that contains the tokens for each one of the resources included. For example,
31+
for the above Resources layout, this is what the Resource class would expose:
32+
33+
public class Resource {
34+
public class drawable {
35+
public const int icon = 0x123;
36+
}
37+
38+
public class layout {
39+
public const int main = 0x456;
40+
}
41+
42+
public class strings {
43+
public const int first_string = 0xabc;
44+
public const int second_string = 0xbcd;
45+
}
46+
}
47+
48+
You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main
49+
to reference the layout/main.xml file, or Resource.strings.first_string to reference the first
50+
string in the dictionary file values/strings.xml.

0 commit comments

Comments
 (0)