大佬教程收集整理的这篇文章主要介绍了如何在android布局中添加unityplayer作为子视图?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
黑色部分是我的相对布局,但是不占据的统一视图进入相对布局.
代码如下:
public class MainActivity extends UnityPlayerActivity { public static Context mContext; private Handler handler=new Handler(); private UnityPlayer m_UnityPlayer; @Override protected void onCreate(Bundle bundlE) { super.onCreate(bundlE); mContext = this; m_UnityPlayer = new UnityPlayer(this); int glesMode = m_UnityPlayer.getSetTings().geTint("gles_mode",1); Boolean trueColor8888 = false; m_UnityPlayer.init(glesMode,trueColor8888); setContentView(R.layout.activity_main); //This is my relative layout RelativeLayout layout = (RelativeLayout) findViewById(R.id.relativelayout2); //Relativelayout width is 750dp and height is 640dp. LayoutParams lp = new LayoutParams (750,640); //Iam adding unityview to layout here layout.addView(m_UnityPlayer.getView(),lp); } }
> MainActivity应该作为Activity扩展,而不是UnityPlayerActivity.
>将这两行添加到android清单中的活动
<Meta-data android:name="unityplayer.UnityActivity" android:value="true" /> <Meta-data android:name="unityplayer.ForWARDNativeEventsToDalvik" android:value="false" />
工作代码是:
public class MainActivity extends Activity implements OnTouchListener { public static Context mContext; private Handler handler=new Handler(); protected UnityPlayer mUnityPlayer; protected void onCreate(Bundle savedInstanceStatE) { requestWindowFeature(Window.FEATURE_NO_titlE); super.onCreate(savedInstanceStatE); mContext = this; getWindow().takeSurface(null); setTheme(android.R.style.Theme_NotitleBar_Fullscreen); getWindow().setFormat(PixelFormat.RGB_565); mUnityPlayer = new UnityPlayer(this); if (mUnityPlayer.getSetTings ().getBoolean ("hide_status_bar",truE)) getWindow ().setFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); int glesMode = mUnityPlayer.getSetTings().geTint("gles_mode",1); Boolean trueColor8888 = false; mUnityPlayer.init(glesMode,trueColor8888); View playerView = mUnityPlayer.getView(); setContentView(R.layout.activity_main); FrameLayout layout = (FrameLayout) findViewById(R.id.frameLayout2); LayoutParams lp = new LayoutParams (750,630); layout.addView(playerView,lp); } protected void onDestroy () { mUnityPlayer.quit(); super.onDestroy(); } // onPause()/onResume() must be sent to UnityPlayer to enable pause and resource recreation on resume. protected void onPause() { super.onPause(); mUnityPlayer.pause(); } protected void onResume() { super.onResume(); mUnityPlayer.resume(); } public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); mUnityPlayer.configurationChanged(newConfig); } public void onWindowFocusChanged(Boolean hasFocus) { super.onWindowFocusChanged(hasFocus); mUnityPlayer.windowFocusChanged(hasFocus); } public Boolean dispatchKeyEvent(KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_MULTIPLE) return mUnityPlayer.onKeymultiple(event.getKeyCode(),event.getRepeatCount(),event); return super.dispatchKeyEvent(event); } }
结果:
以上是大佬教程为你收集整理的如何在android布局中添加unityplayer作为子视图?全部内容,希望文章能够帮你解决如何在android布局中添加unityplayer作为子视图?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。