140104訓練

投稿者: | 2014年1月4日

三が日に続き、土曜出勤なのだ。
でも三が日出ちゃうと土曜だから何?的なムードになっている自分がいるのも確か。

オプションメニュー(OptionsMenu)

※画像が表示されるのは2.3系まで。4系はUIが違うため、画像が表示されない仕様。詳しくはコチラ
res/menuに新規XMLファイルを作成
レイアウト > 追加 > item
出来たitemのOrder in category,Title,Iconを指定
いつも削除してるonCreateOptionsMenuメソッドのリソース名を作成したXMLファイルに書き換える

実行画面(メニュー表示のみ抜粋)
menu

onOptionsItemSelected

どのメニューが選ばれたかを判断して処理を行うメソッド。
下記コードをオーバーライドして処理を書く。

switchでgetItemIdメソッドをKeyにして処理したりするのがパターンらしい。戻り値もtrueにしたりするらしい。詳しくやらなかったのでよーわからん・・・・

アニメーション

resにanimフォルダを作成。
作成したフォルダ内にxmlファイルを作成。リソースタイプがTween Animationになっていることを必ず確認すること。
ルート要素はalpha。

1秒で透明度が1.0(無透過)から0.3に変化することを10回行うという指定。
activity_main.xmlにImageViewを配置してMainActivity.javaに下記コードを追加

指定したリソース(作ったxmlファイル)のアニメーションをImageViewに行わせている。

パラパラマンガ

resにdrawableフォルダ作成。
作成したフォルダ内にxmlファイルを作成。リソースタイプがDrawableになっていることを必ず確認すること。
ルート要素はanimation-list。

各画像0.5秒に指定。
空のImageViewとボタンを設置。
ボタンを押したらアニメーションする仕様。

setOneShotがtrueなので一回だけしか反応しない。

プログラムで直接アニメーションさせる

xmlを作成しないでアニメーションさせる方法。
ImageView設置。

AnimationDrawableインスタンスに各画像を0.5秒ずつaddFrameする。
ImageViewをクリックするとアニメーションする。

UIをカスタマイズ

resにdrawableフォルダ作成。さらにxmlファイル作成。

グラデーションをつける

gradientがグラデーションの指定。
mainのbackgroundにこのxmlを指定するとグラデーションのかかった背景になる。角度(angle)は45の倍数でなくてはならない。

ボタンクリック時のスタイル

state_pressedの真偽値でボタンの動作をチェック。
strokeは枠線のスタイル、cornersは角のスタイル(雑

フェードインするアニメーション

animフォルダにxmlファイル作成。

透明度を2秒で無くなるように指定している。
後はメイン処理で呼び出してあげる。

ぐるぐる(rotation)させるアニメーション

animにxmlファイル作成。

rotateは回転,2秒掛けて360度回るコード,pivotは座標。
scaleは大きさ,0~1(倍率)に向かって大きくなっている。
メイン処理

xmlの方が元職の影響で慣れてるけどファイルが煩雑になりそうだから注意が必要だなーと思う今日この頃。とりあえず記事が雑になってきてる気がしてドキドキするのであった。

今日のひとこと

ひどいねスペルがw
コピってこなくていいんだよ(怒w


コメント

Loading Facebook Comments ...

コメントを残す

No Trackbacks.