Androidレイアウトthis.SetContentView(Resource.Layout.Main)とLoadApplication(新しいApp())を使用した後、Xamarin.Forms MainPage.xamlが表示されませんでした。私は線形レイアウトを削除しようとしましたが、フォーム自体ではなく、その内部の項目を削除するだけでした。 SetContentViewがXamarin.Formsをブロックしているようです。Xamarin.FormsのコンテンツがActicity.SetContentViewの使用後に表示されない
using Android.App;
using Android.Content;
using Android.Content.PM;
using Android.OS;
using Android.Text.Method;
using Android.Widget;
using Auth0.OidcClient;
using IdentityModel.OidcClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Xamarin.Forms;
namespace IndoFellowship.Droid {
// Define App icon and name
[Activity(
Label = "Indo App",
MainLauncher = true,
Icon = "@drawable/icon",
LaunchMode = LaunchMode.SingleTask)
]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity {
protected override void OnCreate(Bundle bundle) {
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
// Showing layout that I set
SetContentView(Resource.Layout.Main);
// Do login
// Some codes
// Done processing on Android, I need to load Xamarin.Forms
LinearLayout mainLayout = (LinearLayout)FindViewById(Resource.Id.mainLayoutID);
mainLayout.RemoveAllViews();
// Load App
LoadApplication(new App());
}
}
}
Main.axmlリソース/値/
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayoutID"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
// Some layout here..
</LinearLayout>
と私のApp.xaml.cs(Xamarin)上:だから、ここで
はMainActivity.csです
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Xamarin.Forms;
namespace IndoFellowship {
public partial class App : Application {
public static string AppName { get; set; }
public App() {
InitializeComponent();
MainPage = new NavigationPage(new MainPage());
}
protected override void OnStart() {
// Handle when your app starts
}
protected override void OnSleep() {
// Handle when your app sleeps
}
protected override void OnResume() {
// Handle when your app resumes
}
}
}
MainPage.xaml.cs(Xamarin)ここではオーバー
using Auth0.OidcClient;
using IdentityModel.OidcClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Auth;
using Xamarin.Forms;
namespace IndoFellowship
{
public partial class MainPage : ContentPage {
public MainPage()
{
InitializeComponent();
var browser = new WebView();
browser.Source = "http://xamarin.com";
Content = browser;
}
}
}
私はxamarin.comのWebViewのを見て必要がありますが、私のAndroidのはただ真っ白になりました。 Xamarin.Formsはまったく表示されていないようです。私はまだXamarin.Androidにいます。私がSetContentViewを取った場合、完全にレンダリングされたフォームを見ることができますが、Androidで必要な処理はできません。
- XAMARINフォームをMainActivityから正しくロードするために必要なことはありますか?
- レイアウトが削除されないのはなぜですか?
ありがとうございます。