ねこバタ会議

スマホアプリ制作に関するブログです。

2014年09月

【注意】ここに記載された内容の場合、一つのViewに対してのみ変更することが出来ます。
複数のViewの背景や枠線をそれぞれ変更したい場合は、以下の記事をご参照下さい。
続・Viewの枠線と背景色を動的に設定する Android&iOS(Objective-C)

ボタンに枠線と背景色を動的に設定する方法がわからなかったので、メモです。

まず、 以下のようなXMLファイルを用意して、res/drawableに適当な名前で保存します。
 
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="2px" android:color="#ffffff" />
<padding android:left="2px" android:top="2px"
android:right="2px" android:bottom="2px" />
<corners android:radius="4px" />
</shape>
XMLファイルをdrawableに設定すれば、枠線が表示されます。ボタンに白い枠線が表示されました。
button.setBackgroundResource(R.drawable.border);
sc1

この時に背景色を変更しようとして以下のように書くと、ボーダーが消えてしまいます。
button.setBackgroundColor(Color.GREEN);
sc3


どうやら、背景はボーダーや色などが一括で設定されるようです(ものすごく初歩的なことだと思うのですが、あまり理解していません。すみません)。
というわけで、一旦背景の情報を取得してから変更することでボーダーや背景を変更することができます。

// 背景色を変更
GradientDrawable bgShape = (GradientDrawable)button.getBackground();
bgShape.setColor(resColor(R.color.Green));
bgShape.setStroke(4, resColor(R.color.DeepPink));
bgShape.setCornerRadius(2.5f);
resColor()はリソースからColor情報を変換するためのメソッドで、以下のような感じです。
int resColor(int res){
    return getResources().getColor(res);
}
setColorで色を設定、setStrokeで枠線の幅と色、setCornerRadiusで角の丸みを変更しています。
これを適用すると、以下のように反映されました。
 
sc2
 
ちょっと南米の昆虫のような配色になっていますね。
ちなみにリソースのカラー設定は、stackoverflowにあった以下のトピックから選んだものを使用しています。

 Android color xml resource file : stackoverflow

Words & Magic にバグを発見したのとバランスが一部おかしかったので、セルフリジェクトと再申請を繰り返す毎日です。
多分目につくバグはとれたのとバランス調整がだいぶ出来たので、これでしばらくいじらなくてもよくなりそうです。

さて、Words & Magic はiOS用のアプリとして作成しましたが、今度はこれをAndroid用に移植したいと思っています。
iOSではObjective-Cで書いていますが、AndroidではJAVAを使用します。
が、JAVAでプログラムを書くのがTap Nums!の時以来なので、すっかり忘れてしまい、開発環境の整備からやり直しました。

恥ずかしながらプログラミングのセンスやスキルに加えて記憶力がほぼないので、基本的な部分もすっかり忘れていました。
配列やデータ型などの初歩の初歩もすっかりわからなくなってしまっています。
また、Objective-Cを書くときにはXcodeの補完が非常に便利だったのですが、Eclipseの補完はCtrl + TABを押さないと出てこなかったりして、ちょっと不便だなーと思っていました。

sc01


それを解消する方法がわかったので、メモ代わりに書いておきます。 続きを読む

昨日書いたとおり、Words & Magic のAppStoreへの申請を行ったのですが、今朝バグが見つかったので、さっそく申請を取り消して、修正バージョンを再提出しました。

その際にどうせならiPhone6用にもスクリーンショットをあげておくか…と思い作業してみると、
アスペクト比が正しくないスクリーンショットが少なくとも1つあります。
と表示されて、まったく受け付けてくれません。

30

もちろんサイズもアスペクト比も正しく設定してあるのですが、全くダメ。
数時間途方にくれていたのですが、stackoverflowで他の人も同じ問題に直面していることがわかりました。

stackoverflow : Screenshots for iTunes Connect with wrong aspect ratio

1時間前に追加された質問らしいので、かなりリアルタイムな話だったんですね。
まあ修正されるのを待つことにしましょう…。 

長らくご無沙汰しておりましたが、本日ようやく新しいゲームが完成しました。

「Words & Magic」という、タイピングで戦うゲームです。
iOS向けにしか作っていませんが、Appleの審査を待ちながらAndroid用への移植を始めたいと思っております。

 写真 2014-09-22 13 33 46

タイミングが悪いことに、作成に手間取っている間にスクエア・エニックスからタイピングを題材にしたゲームが出てしまったので、非常にバツが悪い思いをしております…汗

気を取り直して、ゲームの説明に入りたいとも思います。続きを読む

↑このページのトップヘ