1

Visual Studio の Monodroid アプリに .java スプラッシュ スクリーンを実装しようとしていますが、スプラッシュ スクリーンがリソース レイアウトからコンテンツ ビューを取得するようにします。私はこのように取得しようとしています:

setContentView(R.layout.AppSplash);

また試してみました:

setContentView(Resource.layout.AppSplash);

また:

setContentView("@layout/AppSplash");

そして、次のようなエラー メッセージが表示されます。

package R does not exist

リソースの R が変更される場所、または:

cannot find symbol
symbol  : method setContentView(java.lang.String)
location: class SwimmerTimesCalc.SplashActivity
    setContentView("@layout/AppSplash");

@layout/AppSplash オプションを試すと

Monodroid リソースにアクセスして、スプラッシュ スクリーンのレイアウトを設定するにはどうすればよいですか?

4

3 に答える 3

1

これはあなたが始めるのに役立つはずです。

独自のスプラッシュ画面を作成するために特別にレイアウトを使用し、そのリソースを使用してアクティビティに表示したい場合は、次のようなものを使用できます。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/SplashScreenLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<ImageView
    android:id="@+id/SplashDefault"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_centerInParent="true"
    android:scaleType="centerCrop" />
</RelativeLayout>

次に、アクティビティでコンテンツビューを設定できます。

    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

        SetContentView(Resource.Layout.SplashLayout);
    }
于 2012-08-21T16:23:10.117 に答える
0

デバッガーがリソースにアクセスできなかったため、リソースにアクセスする方法を見つけました。\obj[これはデバッグまたはリリースできます]\android\src の下のプロジェクト フォルダーにある生成されたリソース ファイルに移動し、R と呼ばれます。そのファイルを閲覧すると、次のように使用しようとしていたレイアウトが見つかりました。

public static final int appsplash1=0x7f030002;

そこからリソース値 0x7f030002 を取得し、次のように使用しました。

setContentView(0x7f030002);

いずれにせよ、リソース ファイルは自動生成されるため、この前にアルファベット順に配置される別のレイアウトを追加すると、このプロセスを再度実行する必要がある場合があります。

于 2012-08-23T18:58:41.173 に答える
0

ここで同じ問題を抱えています。次のように、リソースの名前とフォルダーによって、実行時にリソースの ID を見つけることができます。

int iconResourceId = context.getResources().getIdentifier("icon", "drawable", context.getPackageName());

したがって、Java ファイルでは、R.drawable.icon の代わりにそのようなルックアップを使用でき、それは機能します。

ただし、これは遅くなり (Android ではルックアップが非効率的に実装されるため)、リソースの名前を文字列としてハードコードすることになります。Mono プロジェクト内のリソースを移動または名前変更しても、Java ファイルはこれを認識しません。

また、すべてのリソース名を小文字で入力する必要があります。Mono は名前を「Icon.png」などの .NET スタイルから Android スタイルの「icon.png」に変換します。

于 2013-03-08T13:08:10.207 に答える