(1)main_activity.java的内容
import androidx.appcompat.app.AppCompatActivity; import android.app.ActivityManager; import android.content.pm.ActivityInfo; import android.content.pm.ConfigurationInfo; import android.os.Build; import android.os.Bundle; import android.view.Window; import android.view.WindowManager; import android.widget.LinearLayout; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private boolean supportsEs2; // ModelGLSurfaceView glView; CubeGLSurfaceView m_view; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); checkSupported(); if (supportsEs2) { // 设置为全屏 requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); // 设置为横屏模式 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); setContentView(R.layout.activity_main); // 初始化GLSurfaceView m_view=new CubeGLSurfaceView(this); m_view.requestFocus();//获取焦点 m_view.setFocusableInTouchMode(true);//设置为可触控 LinearLayout ll=(LinearLayout)this.findViewById(R.id.ShowView);///将view显示在指定的view中,而不是全页面 ll.addView(m_view); } else { setContentView(R.layout.activity_main); Toast.makeText(this, "当前设备不支持OpenGL ES 2.0!", Toast.LENGTH_SHORT).show(); } } @Override protected void onPause() { super.onPause(); if (m_view != null) { m_view.onPause(); } } @Override protected void onResume() { super.onResume(); if (m_view != null) { m_view.onResume(); } } private void checkSupported() { ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo(); supportsEs2 = configurationInfo.reqGlEsVersion >= 0x2000; boolean isEmulator = Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1 && (Build.FINGERPRINT.startsWith("generic") || Build.FINGERPRINT.startsWith("unknown") || Build.MODEL.contains("google_sdk") || Build.MODEL.contains("Emulator") || Build.MODEL.contains("Android SDK built for x86")); supportsEs2 = supportsEs2 || isEmulator; } }
(2)布局文件内容
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)