0

画面の回転を無効にして、常に横向きを使用し、常に全画面を使用したい。

私は試した

android:screenOrientation="landscape"

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

どちらも最初の Web ページ (jQuery Mobile と PhoneGap を含む) で動作します。これは最初のページです:

super.loadUrl("file:///android_asset/www/index.html");

フルスクリーンで、画面は回転しません。にはindex.html、game.html へのリンクがあります (これには PhoneGap が含まれますが、jQuery Mobile は含まれません)。

<a href="game.html" data-transition="slide" rel="external">

ただし、 の場合、game.htmlフルスクリーンではなく、画面が回転します。

ここで何が間違っていると思いますか?

4

1 に答える 1

0

JavaScriptではなくJavaコードでURLをロードすることで、最終的にこれを解決しました。

これを行う方法は次のとおりです。

public class MainActivity extends DroidGap {

    private JsHelper jsHelper;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.init();

        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        jsHelper = new JsHelper(this);
        super.appView.addJavascriptInterface(jsHelper, "JsHelper");

        super.loadUrl("file:///android_asset/www/index.html");
    }
}

public class JsHelper {
    private MainActivity activity;

    public JsHelper(MainActivity act) {
        activity = act;
    }

    public void goToHtml(String url) {
        activity.loadUrl("file:///android_asset/www/" + url);
    }
}

index.html

<script type="text/javascript">
    function func() {
        window.JsHelper.goToHtml("game.html");
    }
</script>
<a href="#" data-transition="slide" rel="external" onclick="func()">

これが他の人に役立つことを願っています。

于 2012-08-30T03:46:53.760 に答える