C#学习教程:HowtocapturemultiplephotosusingCameraxamarinFormsandroid在其中,我试图以相同的意图使用相机拍摄多张照片。不使用任何nuget包?为此,我点击此链接CameraMainActivity.csstaticreadonlyFilefile=newFile(Environment.GetExternalStoragePublicDirectory(Environment.DirectoryPictures),"tmp.jpg");在OnCreate(Xamarin.Forms.Application.CurrentasApp)结束时。ShouldTakePicture+=()=>{varintent=newIntent(MediaStore.ActionImageCapture);intent.PutExtra(MediaStore.ExtraOutput,Uri.FromFile(文件));StartActivityForResult(意图,0);};在这里,我只单击在相机按钮上拍摄了1张照片,但我想拍摄更多照片,我希望它的文件路径在OnActivityResult(Xamarin.Forms.Application.CurrentasApp).ShowImage(file.Path);但也许它几乎没有限制,比如我们一次不能拍多张照片?有谁知道如何捕获多张照片并将它们绑定到列表视图?是的,经过如此多的努力,我能够做到这一点。可能对在xamarinforms中做这种工作的人有帮助。这是我的代码publicpartialclassApp:Application{//publicstaticAppInstance;publicApp(){MainPage=newCameraGallery.MainPage();初始化组件();}}MainPage.xaml//请安装FlowListView和ffimageloadingnugetpckg-->MainPage.xaml.cs中的publicpartialclassMainPage:ContentPage{ObservableCollectioncamImageCollection;公共静态MainPage实例;publicMainPage(){InitializeComponent();实例=这个;varbtn=newButton{Text="Snap!",Command=newCommand(o=>ShouldTakePicture()),};CameraLayout.Children.Add(btn);camImageCollection=newObservableCollection();}公共事件ActionShouldTakePicture=()=>{};publicvoidShowImage(string[]filepath){foreach(variteminfilepath)camImageCollection.Add(item);listItemsCam.FlowItemsSource=camImageCollection;现在转到MainActivity.cs中的android项目[Activity(Label="CameraGallery",Icon="@drawable/icon",Theme="@style/MainTheme",MainnLauncher=true,ConfigurationChanges=ConfigChanges.ScreenSize|ConfigChanges.Orientation)]publicclassMainActivity:global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity{publicstaticintOPENCAMERACODE=102;//LoadApplication(newApp())之后的OnCreate内部;添加这些行protectedoverridevoidOnCreate(Bundlebundle){TabLayoutResource=Resource.Layout.Tabbar;ToolbarResource=Resource.Layout.Toolbar;UserDialogs.Init(这个);base.OnCreate(捆绑);global::Xamarin.Forms.Forms.Init(this,bundle);FlowListView.Init();CachedImageRenderer.Init(false);加载应用程序(新应用程序());MainPage.Instance.ShouldTakePicture+=()=>{ICursorcursor=loadCursor();image_count_before=cursor.Count;cursor.Close();意图intent=newIntent(MediaStore.IntentActionStillImageCamera);IListactivities=PackageManager.QueryIntentActivities(intent,0);如果(activities.Count>0)StartActivityForResult(Intent.CreateChooser(意图,“相机捕获”),OPENCAMERACODE);};}publicICursorloadCursor(){string[]columns=newstring[]{MediaStore.Images.ImageColumns.Data,MediaStore.Images.ImageColumns.Id};stringorderBy=MediaStore.Images.ImageColumns.DateAdded;返回ContentResolver.Query(MediaStore.Images.Media.ExternalContentUri,columns,null,null,orderBy);}privatevoidexitingCamera(){ICursorcursor=loadCursor();string[]paths=getImagePaths(cursor,image_count_before);MainPage.Instance.ShowImage(paths);//这个参数传递给MainPage.xaml.cscursor.Close();}publicstring[]getImagePaths(ICursorcursor,intstartPosition){intsize=cursor.Count-startPosition;if(size我希望这可以帮助某人享受编码......以上是关于C#学习教程:如何使用相机拍摄多张照片共享xamarinFormsandroid如果它对任何人有用并且需要了解更多关于C#学习教程,希望大家多多关注——本文整理自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处:
