Androidプログラミングに挑戦2!(21)単位変換アプリを作る-広告の追加(その2)
JUGEMテーマ:プログラミング
さてさて、前回のバナーはみ出し事件、落ち着いて考えてみると思い当たるフシがあります。
パッと見は下から出てきたテンキーにバナーだけ押し上げられているように見えるのですが、実際は、テンキーが出現することによってメインの画面を収めているRelative Layoutが縮んでいるのではないかと思うのです。
このAdViewだけParentの底辺にくっつけてレイアウトしたため、レイアウトが縮むのに合わせて上に移動してきてしまったと考えると理屈が通ります。
では試しに、AdViewを上の変換ボタンにくっつけてレイアウトしてみましょう。
こんな感じです。
これをエミュレータで走らせてみましょう。これでどうでしょう?
どうです?大成功!・・・と言いたいところなのですが。新たな問題発生です。
スクリーンショットではわからないのですが、バナーが点滅しているのです。
それに同期して変換ボタンが数dp高さ方向に伸び縮み振動しています。
意味不明です。
とりあえず、バナーをもう少し下げて完全に見えなくしたら振動は収まりました。
が、このままでは別のもっと画面の長い機種などが現れた時に、テンキーの領域が狭まってまたバナーが少し出現してしまうかもしれません。これではイタチごっこです。
それならいっそ、レイアウトをちょっといじってバナーが常に全部見えるようにしてやったらいいのではないでしょうか?
現状の、バナーと変換ボタンが近接しているレイアウトは、間違ってバナーをタップしてしまう可能性もあり、ユーザにとって非常にストレスになるとも思うので、思い切って変換ボタンをカテゴリースピナーの横あたりにもっていってはどうでしょうか?
こんな感じです。
どうでしょう?
少しレイアウトが混雑してきたので、タップできる部分がわかりやすいように、スピナーの三角マークを右下に着けて、右と下にボーダーを入れてみました。
元画像は、Android SDKの、sdk/platforms/android-23/data/res/drawableにある、spinner_default_holo_light_am.9.pngというファイルです。とあるテーマを適用したときのスピナー用背景です。
元ファイルは右下の三角が2倍くらい大きいのと、下線しかないので、画像処理ソフトを使って三角を小さくし、右の縦線を追加し、ついでにコンテンツ部分もぎりぎりまで拡大して適用しました。
その他、バナーの点滅が起きないように、スピナーの高さを1dp刻みで調節しました。また、日本語と英語で文字サイズも変えて調節しました。結果、こんな風にうまく表示されるようになりました。
えー、広告の話だったはずが、レイアウト変更だけで話が終わってしまいました・・・
次回は、AdMobの本登録をやっていきたいと思います。
- 2016.01.16 Saturday
- スマートフォン
- 18:13
- comments(0)
- -
- -
- by てちくん