我是Xamarin.Forms平台的新手.我希望你能帮我前进.我希望在xamarin.forms中拥有类似自动完成的控件,如下所示
你能指导一下如何在Xamarin.Forms中实现它吗?我想通过Entry Control实现它
TIA
我有一个使用XLabs的Xamarin.Forms应用程序,它工作正常,但突然它开始崩溃我的应用程序,如果我从照片屏幕拍照或按后退按钮,我谷歌搜索了4个小时仍然不知道为什么它发生了,任何想法或想法,请帮忙!
这是我的代码行:
private async Task TakePicture()
{
mediaPicker = Resolver.Resolve<IDevice>().MediaPicker;
try
{
var mediaFile = await mediaPicker.TakePhotoAsync(new CameraMediaStorageOptions
{
DefaultCamera = CameraDevice.Front,
MaxPixelDimension = 1,
PercentQuality = 2,
});
var image = GetResizedImage(mediaFile.Source, 990, 560);
OnImageUpdate(this, image);
}
catch (Exception ex)
{
this.status = ex.Message;
}
}
Run Code Online (Sandbox Code Playgroud)
我的许可没问题:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
07-02 16:01:20.433 D/Mono (20722): Assembly Ref addref XLabs.Platform.Droid[0x77114be8] -> System[0x7915c498]: 14
07-02 16:01:20.463 D/Activity(20722): #1 setTransGradationModeColor false
07-02 16:01:21.118 D/Mono (20722): Assembly Ref addref Xamarin.Forms.Platform.Android[0x7710d050] …Run Code Online (Sandbox Code Playgroud) 我很难实现像在页面加载时显示ActivityIndicator那样简单的功能,事实证明这非常困难。
这是我在App.xaml.cs上使用的代码:
public partial class App : Application
{
public App()
{
InitializeComponent();
MainPage = new NavigationPage(new LoginPage());
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的LoginPage
public partial class LoginPage : ContentPage
{
public LoginPage()
{
InitializeComponent();
btnLogin.Clicked += BtnLogin_Clicked;
}
protected async void BtnLogin_Clicked(object sender, EventArgs e)
{
loadingView.IsVisible = true;
activityIndicator.IsRunning = true;
await Navigation.PushAsync(new SchedulePage());
loadingView.IsVisible = false;
activityIndicator.IsRunning = false;
}
}
Run Code Online (Sandbox Code Playgroud)
无需赘述,loadingView是我在xaml文件上的视图,该文件包含我的ActivityIndicator。我的主要问题是,当我调用Navigation.PushAsync()时,ActivityIndicator的动画将停止。据我所读,这是因为两个操作都发生在Main线程上,所以一个中断了另一个。
我需要显示该指标的原因是因为我的SchedulePage需要很多时间来呈现,因为它具有XLabs日历控件。
您将如何实现这样的目标?
我需要使用Xamarin Forms PCL访问相机.我找不到任何可行的样本.
我尝试安装XLab并使用其示例代码,但它有例外.例如,使用XLabs示例我使用以下内容:
/// <summary>
/// Takes the picture.
/// </summary>
/// <returns>Take Picture Task.</returns>
internal async Task<MediaFile> TakePicture()
{
Setup();
ImageSource = null;
return await _mediaPicker.TakePhotoAsync(new CameraMediaStorageOptions { DefaultCamera = CameraDevice.Front, MaxPixelDimension = 400 }).ContinueWith(t =>
{
if (t.IsFaulted)
{
Status = t.Exception.InnerException.ToString();
}
else if (t.IsCanceled)
{
Status = "Canceled";
}
else
{
var mediaFile = t.Result;
ImageSource = ImageSource.FromStream(() => mediaFile.Source);
return mediaFile;
}
return null;
}, _scheduler);
}
/// <summary>
/// Setups this …Run Code Online (Sandbox Code Playgroud)