zoukankan      html  css  js  c++  java
  • 有关phonegap 应用在android平台全屏

    问题: 利用phonegap 打包android 程序 在设备上全屏显示;

    我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果。

    一,通过在代码中可以设置,

    代码中设置(如下)

    public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
              
            //设置无标题  
            requestWindowFeature(Window.FEATURE_NO_TITLE);  
            //设置全屏  
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,   
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);  
              
            setContentView(R.layout.main);  
    }  

           但要注意的是:在代码中设置的话,设置无标题和设置全屏的两段代码要放置在 setContentView(R.layout.main); 这段代码的前面。要不然会报错。

           其二:在manifest配置文件中设置

    代码如下:

    <?xml version="1.0" encoding="utf-8"?>  
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
          package="com.andyidea"  
          android:versionCode="1"  
          android:versionName="1.0">  
        <uses-sdk android:minSdkVersion="8" />  
        <application android:icon="@drawable/icon" 
              android:label
    ="@string/app_name"           android:theme="@android:style/android.NoTitleBar.Fullscreen"> <activity android:name=".login.LoginActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

    这个样设置解决不了问题。发现用phonegap打包出来任然不是全屏

    在方法一种添加一行代码

        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);// 清除FLAG 这行是重点
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

    完整的代码:

    phonegap 打包完成代码
    public class SaleActivity extends DroidGap {
        private static final String TARGET_URL = "http:";
    
         
        private Context context = this;
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setFullscreen();
            if (checkNetwork()) {
                super.init();
                super.appView.clearCache(true);
                super.setBooleanProperty("loadInWebView", true);
                super.setIntegerProperty("loadUrlTimeoutValue", 10000); // 加载时间
                super.setIntegerProperty("splashscreen", R.drawable.splash);// 引导页
                super.loadUrl(TARGET_URL, 8000); // 设置页面
                super.setBooleanProperty("keepRunning", true); // 保持在后台运行
            } else {
                showDialog();
            }
        }
    
        // 检查网络状态
        private boolean checkNetwork() {
            ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
            if (networkInfo != null && networkInfo.isConnected()
                    && networkInfo.isAvailable()) {
                return true;
            } else {
                return false;
            }
        }
    
        // 弹出对话框
        protected void showDialog() {
            AlertDialog.Builder builder = new Builder(context);
            builder.setMessage("当前未连接网络,是否设置?");
            builder.setTitle("提示");
            builder.setPositiveButton("确认", new OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    SaleActivity.this.finish();
                    Intent intent = new Intent("android.settings.WIRELESS_SETTINGS");
                    startActivity(intent);
                }
            });
            builder.setNegativeButton("取消", new OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    SaleActivity.this.finish();
                }
            });
            builder.create().show();
        }
    
        // 全屏(无标题栏和状态栏)
        protected void setFullscreen() {
            getWindow().clearFlags(
                    WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);// 清除FLAG
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
        }
    }
  • 相关阅读:
    MongoDB的C#官方驱动InvalidOperationException异常的解决办法
    MongoDB的TruncationException异常解决方法
    分享Db4o的便捷封装类源码
    EOL conversion in notepad ++
    Creating and deleting branches within your repository
    GitHub Desktop Contributing to projects Working with your remote repository on GitHub or GitHub Enterprise
    亚洲第二!上海交通大学密码学和计算机安全学科方向位CSRankings2019年全球第39和亚洲第2
    python/pandas数据挖掘(十四)-groupby,聚合,分组级运算
    详解 Cookie,Session,Token
    一文彻底搞懂Cookie、Session、Token到底是什么
  • 原文地址:https://www.cnblogs.com/acmilan/p/2731163.html
Copyright © 2011-2022 走看看