MVVMCross を使用して Android アプリを開発しています。私は AXML でプログレスバー タグを使用しています。アプリでバックグラウンド アクティビティが発生するたびにアニメーションを停止します。同期タスクを間違った方法で使用しているためだと思いますが、それを解決する方法が見つかりません。
私が使用している ProgressBar タグは次のとおりです。
<LinearLayout
android:orientation="vertical"
android:background="#88000000"
android:layout_alignParentTop="true"
local:MvxBind="Visibility Visibility(IsLoading)"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical|center_horizontal">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/progressBar1"
android:layout_marginTop="@dimen/element_margin_large"
android:layout_marginBottom="@dimen/element_margin_large" />
</LinearLayout>
に変更IsLoading
してtrue
、常に表示されるようにしましたが、アプリがバックプロセスを実行するたびにアニメーションが停止します。
編集:ビューモデルで試したコードは次のようなものです:
private MvxCommand _xxxCommand;
public ICommand XxxCommand
{
get
{
_xxxCommand = _xxxCommand ?? new MvxCommand(XxxCmd);
return _xxxCommand;
}
}
public async void XxxCmd()
{
IsLoading = true;
await Task.Run(() =>
{
ShowViewModel<XxxViewModel>();
});
IsLoading = false;
}
しかし、実行中はフリーズし続けShowViewModel
ます。次のビューでは、外部へのバインディングと呼び出しがいくつかありますが、API
それらはすべてasync
awaited
ご清聴ありがとうございました。