HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
1202
OKDish Android 機種別の画面比率に適応させる方法3未解決


OK

リンク

2013/12/2(Mon) 00:11:17|NO.58568

Androidの画面比率に合わせてもともとの画面サイズを変更する方法はないでしょうか
(hgio_viewを変えるためjniフォルダのmain.cを変える必要がある…?)

3:4の機種に合わせてアプリを作ると、16:9の機種で使用した際に隙間が生じるので
3:4では画面に重ねて表示していた操作ボタンを16:9なら余白に移動させて見やすくするなどの用途を考えています



この記事に返信する


OK

リンク

2013/12/7(Sat) 20:34:10|NO.58634

今のところはそういう方法はないということでいいんでしょうか?
4:3版と16:9版に分けてリリースするよりスマートなので可能ならば実装したいのですが



しまくろねこ

リンク

2013/12/8(Sun) 08:56:55|NO.58642

こんにちわ。

jniフォルダのmain.cでは難しいような気がします。
画面のアスペクト比を取得できればなんとかなりますでしょうか?
http://ja.softuses.com/164611」から記述をHSPに置き換えてみただけですが、アスペクト比を算出するモジュールを作りました。

実際に使用する際には、パラメーターとして渡す値はデスクトップ全体のサイズである、ginfo_dispxとginfo_dispyを渡してあげれば良いと思います。


#module mod_aspect #defcfunc aspect_w int screen_width, int screen_height asp_w = screen_width / gcd(screen_width, screen_height) return asp_w #defcfunc aspect_h int screen_width, int screen_height asp_h = screen_height / gcd(screen_width, screen_height) return asp_h #defcfunc local gcd int screen_width, int screen_height if screen_height = 0 { return screen_width } else { return gcd@mod_aspect(screen_height, screen_width \ screen_height) } #global gamen_yoko = 640 gamen_tate = 480 w = aspect_w(gamen_yoko, gamen_tate) h = aspect_h(gamen_yoko, gamen_tate) mes "" + w + ":" + h ; 結果"4:3" gamen_yoko = 1280 gamen_tate = 720 w = aspect_w(gamen_yoko, gamen_tate) h = aspect_h(gamen_yoko, gamen_tate) mes "" + w + ":" + h ; 結果"16:9" stop



OK

リンク

2013/12/9(Mon) 00:12:05|NO.58650

わざわざソースコードまでご用意いただきありがとうございます。
ただ申し訳ないのですがHSP3Dishは実行中の画面サイズ変更が機能しないため
プログラム中でアスペクト比を参照しても、それに画面サイズを適用させることができません。

なのでスマートフォン上でのアプリ起動時に参照されるであろう部分(main.cなど?)を
編集する必要があるのかもしれないと考えました。



ONION software Copyright 1997-2021(c) All rights reserved.