スマホを動かしても画面を縦長に固定するには?

解決


かんとく  2014-09-11 18:54:02  No: 46668

お世話になっております。

Windows7,DelphiXE6,Mobile Add-On Packです。

FireMonkeyで、スマホ用のアプリを作ろうとしています。

まず、新規作成で、「FireMonkeyモバイルアプリケーション」→「空のアプリケーション」を選択します。

ここで、アプリを作って、スマホの実機で動かしてみたんですが、スマホを縦向きにすると、自動的に画面が縦長になり、横向きにすると、自動的に画面が横長になります。

スマホ機器の方の設定を変えずに、アプリ側のプログラムで、スマホの角度を変えても画面が縦長または横長に固定させるには、どうしたらよいでしょうか?

よろしくお願いします。


山本隆  2014-09-11 19:10:59  No: 46669

未確認ですが、プロジェクトオプションの「アプリケーション」→「向き」で設定できると思います。
http://docwiki.embarcadero.com/RADStudio/XE6/ja/%EF%BC%BB%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%EF%BD%9C%E5%90%91%E3%81%8D%EF%BC%BD


かんとく  2014-09-12 06:34:02  No: 46670

ありがとうございます。

山本隆さん、前回も、ありがとうございました。

ただ、今回は、うまく行きませんでした。

プロジェクト→オプション
で、オプションのリストが表示されますが、「アプリケーション」の右側に、三角マーク「▼」がないのです。

なので、[カスタムの向きを有効にする] の選択肢も、画面に表示されません。

もしかしたら、同じDelphi6の中でも、マイナーバージョンが違うから?

Delphi6の中にも、いろんなバージョンがあるんでしょか?
もし、そうだったら、バージョンを上げる方法はあるでしょうか?

ちなみに、わたしが持っているのは、Delphi6のDVDメディア付きバージョン(DVD-ROMでインストールするバージョン)です。

よろしくお願いします。


かんとく  2014-09-12 07:23:33  No: 46671

念のために、訂正します。

書き込み(3)の

「アプリケーション」の右側に、三角マーク「▼」がないのです。

「アプリケーション」の左側に、三角マーク「▼」がないのです。

Delphi6

DelphiXE6
です。

よろしくお願いします。


あだち  URL  2014-09-16 19:48:08  No: 46672

DelphiXE6 Enterprise(日本語)版で見てみましたが、出てないです。
エディションのせいではないと思います。
DelphiXE7 Enterprise(日本語)版では出ています。
IDEのバグでは?


いけぴ  2014-09-16 21:22:47  No: 46673

RAD Studio XE6 Update1では「向き」の項目がありますね。


かんとく  2014-09-18 08:32:05  No: 46674

ありがとうございます。

次のページ
http://docwiki.embarcadero.com/RADStudio/XE6/en/Release_Notes_for_XE6_Update_1
から、
Delphi XE6 Update 1
をダウンロードして、インストールしました。

しかし、結果は変わらず、 
「アプリケーション」の左側に、三角マーク「▼」はでませんでした。

もうちょっと、調べてみます。


通りすがり  2014-09-18 21:49:29  No: 46675

Delphiのインストール先にある BDSSetLang.exe でIDEのUIを英語にしてもだめですか?


かんとく  2014-09-19 16:34:34  No: 46676

ありがとうございます。

BDSSetLang.exe
を試してみました。

IDEのUIを英語にしたら、開発画面は英語になりましたが、やはり結果は変わらず、 
「アプリケーション」の左側に、三角マーク「▼」はでませんでした。

もうちょっと、調べてみます。


いけぴ  2014-09-19 22:32:11  No: 46677

かんとくさん。
もし可能ならばDelphi XE6 Update 1ではなく、RAD Studio XE6 Update1を
ダウンロードして試してみてください。
私の環境ではRAD Studio XE6 Update1で問題ないようです。


いけぴ  2014-09-19 23:03:35  No: 46678

かんとくさん。

やっぱりDelphi XE6ではだめなようです。
RAD Studio XE6なら大丈夫のようです。
http://www.gesource.jp/weblog/?p=6757


かんとく  2014-09-20 08:28:31  No: 46679

ありがとうございます。

RAD Studio XE6 Update1をダウンロードしようとしたら、
「Not Authorized
Sorry, you don't have access to this submission. Please see similar submissions for RAD Studio  and Binaries, and other submissions by Calvin Tang. 」
と表示されて、ダウンロードできませんでした。

わたしが持っているのが、
DelphiXE6で、RAD Studio XE6じゃないからだと思います。

もう、お金で解決するしかないんでしょうかね?


いけぴ  2014-09-20 21:56:27  No: 46680

かんとくさん。

そうですね、エンバカが修正してくれない限り、どうしようもない
かもしれませんね。
ただ旧バージョンの修正にはあまり前向きではないかもしれません。

いま買うとなったらXE7になります。
XE7であればRAD StudioではなくDelphiでも問題ないようです。

安くあげるのであればappmethodを選択する方法も有ると思います。
Android、C++Builderで良ければ無料で使えますし。


igy  2014-09-20 22:40:37  No: 46681

>そうですね、エンバカが修正してくれない限り、どうしようもない
>かもしれませんね。
>ただ旧バージョンの修正にはあまり前向きではないかもしれません。

まずは、

QualityCentral
http://qc.embarcadero.com/wc/qcmain.aspx

に同様の内容がないようでしたら、書き込んでみるのも、よいかもしれません。


通りすがり  2014-09-20 22:44:54  No: 46682

おそらく、ですが、この設定は*.dprojファイル(xml形式)に保存されるのだと思われます。ですので、RAD Studio XE6をお持ちの方で
この設定を変更するとdprojがどのように変化するのかを調べていただければ、IDEの設定画面を使用せずに設定を変更する方法が
わかるのではないでしょうか?
# XE5ユーザなのでごめんなさい


いけぴ  2014-09-21 04:51:08  No: 46683

通りすがりさん。

今.dprojファイルを比較してみましたが、チェックをしても、
外しても同ようじでした。

別のところで管理しているみたいです。


通りすがり  2014-09-21 06:09:56  No: 46684

確認ありがとうございます。dprojに変化ありませんか。
dprのほうはどうですか?dprでなければあとはresですが、
こっちは手が出しにくいですね。


いけぴ  2014-09-21 19:31:31  No: 46685

通りすがりさん。

dprファイルも同じですね。


igy  2014-09-22 18:52:11  No: 46686

>QualityCentral
>http://qc.embarcadero.com/wc/qcmain.aspx
>
>に同様の内容がないようでしたら、書き込んでみるのも、よいかもしれません。

QCのほうは、

[Delphi XE6 Update 1 Professional Edition with Mobile Add-On Pack] Orientation page missing from Application in Project Options
http://qc.embarcadero.com/wc/qcmain.aspx?d=125992

で、

実行時に向きを固定にする場合、山本さんの

Delphi XE7で実行時にAndroidアプリケーションの画面の向きを固定するには
http://www.gesource.jp/weblog/?p=6761

とか。


通りすがり  2014-09-22 18:53:56  No: 46687

RAD Studio XE5で空のモバイルアプリケーションを作成し、プロジェクトオプションで
全ての構成-Androidプラットフォームを選択し、向きのカスタムの向きを選択すると
dprojファイルの
|    <PropertyGroup Condition="'$(Base)'!=''">
|         <AUP_WRITE_CALENDAR>true</AUP_WRITE_CALENDAR>
|         <AUP_ACCESS_FINE_LOCATION>true</AUP_ACCESS_FINE_LOCATION>
|         <AUP_READ_CALENDAR>true</AUP_READ_CALENDAR>
の<PropertyGroup Condition="'$(Base)'!=''">の次の行に
|         <OrientationPortrait>true</OrientationPortrait>
|         <Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
が入ります(向きを縦にした場合)。同様に上下逆では
|         <OrientationPortraitUpsideDown>true</OrientationPortraitUpsideDown>
が、横(ホームボタンが右)では
|         <OrientationLandscapeRight>true</OrientationLandscapeRight>
が、横(ホームボタンが左)では
|         <OrientationLandscapeLeft>true</OrientationLandscapeLeft>
が追加されます(<Manifest_File>の行は全てに入る)。同じようにやってみたらどうでしょう?


かんとく  2014-09-23 08:25:56  No: 46688

ありがとうございます。

いろんな方にご教授していただき、ありがとうございます。

dprojファイルを書き換える、というのを試してみましたが、うまくいきませんでした。

メモ帳でdprojファイルを書き換えて保存しても、Delphiの開発環境からプロジェクトの「実行」をすると、
dprojファイルの中身が変更されて、上書きされてしまいます。

ちょっとあきらめ気味ですが、もうちょっと調べてみます。

みなさん、ほんとにありがとうございます。


通りすがり  2014-09-24 08:41:42  No: 46689

dprojファイルを書き換えるときにIDEでプロジェクトを開いたままにしていませんか?
dprojの内容はIDEが押さえているので、IDEを終了→dprojをエディタで書き換え→IDEを起動してプロジェクトを開いてコンパイル、という手順が望ましいですね。

このやり方で駄目なら山本さんの方法とかQCのworkaroundにあがっている方法で。


いけぴ  2014-09-24 19:27:21  No: 46690

かんとくさん。

山本さんの下記の方法、XE6でも大丈夫でした。
http://www.gesource.jp/weblog/?p=6804


かんとく  2014-09-25 07:11:25  No: 46691

ありがとうございます。

うまくいきました。

なるほど!
開発環境のオプション画面ではなく、実行時にコードで「向き」を設定する方法があったんですね。

縦、横両方の方法が分かって、よかったです。

また、こちらにお礼を書き込みますが、
山本隆さん、ほんとにありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加