2017-03-20 6 views
2

私が働いているになってきて、私のツールバーやナビゲーションの引き出しを持っているの。したがって、次のような問題に直面しています。使い方アンドロイドは:fitsSystemWindows =「真/偽」ナビゲーション引き出しの高さが変化すると、ナビゲーションバーとは、カメラが上に完全に画面上でレンダリングされ<strong>UnityPlayerActivity</strong>に白い

ケースA:使用済みandroid:fitsSystemWindows = "false" ドロワーの高さが全画面表示されていないため、 しかし、アンドロイドのナビゲーションバーは透明です、カメラは と期待される完全な画面を取っています。

ケースB:使用されているandroid:fitsSystemWindows = "true" ナビゲーション・ドロワーが予想どおりに表示され、ドロワの高さがフルスクリーンで表示されます。 しかし、アンドロイドのナビゲーションバーは透過的ではないため、カメラは期待どおりに完全な画面を表示していません。

CASE ACASE B This is my layout file

答えて

0

あなたがUnityplayer活性またはmainActivityで結合する必要がある必要はありません。

静的なアクティビティを静的に設定し、これらのアクティビティに存在する関数またはUIをC#単位で呼び出すことができます。

正しい方法は、メインのAndroidプロジェクトに静的アクティビティを作成し、それをcurrentActivityと呼ぶことです。この後、あなたのOnCreateメソッドで、あなたはこれに次のコードを[現在に設定することを実証した:あなたのユニティコードから次のコードを使用してMainActivityからAndroidのメソッドを呼び出すためにC#を使用することができます。また

public class MainActivity extends UnityPlayerActivity { 

public static MainActivity currentActivity; 

@Override 

    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     currentActivity=this; 

AndroidJavaClass jc = new AndroidJavaClass("yourpackagename.youractivity"); 

AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity"); 

jo.Call("toggleMenu"); 

OR

あなたがフラグメントにUnityPlayerActivityを変換することができ、下記のリンクは同じ

であなたを助けます

How can I open an Android Fragment in a new process?

関連する問題