読者です 読者をやめる 読者になる 読者になる

woshidan's blog

そんなことよりコードにダイブ。

Androidのアニメーションを色々作ってみる

アニメーションに苦手意識があったので、アニメーションのAPIを叩いてみました。 1つ2つならコールバックでいけますが、もっとたくさんのアニメーションを逐次連続して実行したい場合などは、http://language-and-engineering.github.io/android-mvc-framewo…

AndroidのTextInputLayoutの要素の位置を調整する

位置指定についてメモ。 左右の余白について TextInputLayoutはその内部だけだと左側の位置が揃っているのですが、 他の要素で同じ値を指定した時と比べてみると、TextInputLayoutの要素の左右に4dpのPaddingがあるみたいです。 これでは他の要素と一緒にフ…

AndroidのTextInputLayoutの色をカスタマイズする

うーん、思ったより量が多かったので分割。 説明が面倒だったので、わざと効いているのが目立つ色とサイズにしています コード

AndroidのCalligraphyにてカスタムフォントを使っていたらFragmentManagerが落ちる

下記を参考にしつつ、AndroidでCalligraphyを導入してカスタムフォントを使っていたら、 FragmentManagerが動いてくれなくて困りました。 出ていたのは、LayoutInflater#inflate(R.layout.page_layout, null);を使っている行で出ていた例外はjava.lang.Illeg…

Androidのソースコードをダウンロードする

今朝の記事の続きで、TextViewのサブクラスを作って、そこにそれっぽいアニメーションをonDraw()あたりで追加したかったのですが、 super.onDraw()の後にやればいいのか、先にやればいいのかよく分からなかったんですよね。 また、FragmentやActivityのライ…

TextInputLayoutでエラーメッセージの表示/非表示を無理矢理出してみた

TextInputLayout | Android Developers TextInputLayout というものワクテカするものがあるらしく書いてみましたが、 ちょっと残念な感じの事態に遭遇して、やや残念な感じに対処してみた記録です。 内容 とりあえず置いてみた エラーメッセージを表示する 2…

ReactiveAndroidで遊ぶ

現場のコードだとネットワークとかの処理が入ってくるので、その前に単体で触りたいよね、ということで遊びました。UIスレッドの指定の部分以外、RxJavaの範囲かもしれない。 参考: github.com kirimin.hatenablog.com 準備 まず、build.gradleに compile 'i…

AutoCompleteTextView.Validatorで遊ぶ

まだまだバリデーションしたい欲があるので、EditTextを拡張してプライベート変数として自作クラスのvalidatorを持たせようとした瞬間、Android Studioが AutoCompleteTextView.Validator なるものがある、と教えてくれたので調べてみる所存です。 参考: Aut…

EditTextにInputFilterをセットする

EditText から値を取得してバリデーション書くのつらくない? これはバリデーター的なクラス開発な機運と思って調べたら InputFilter なるものが見つかった。 バリデーションとは違って、入力値が追加されたときにその値を入力してよいかチェックして、 許可…

ツールバーの上のmenuの 一番右側の「:」のアイコンのカスタマイズ

調べ直したくない一心でまとめています。主に参考にしていたのは下記ブログです。 https://medium.com/@lucasurbas/making-android-toolbar-responsive-2627d4e07129 一番右側の「:」のアイコンのカスタマイズ neverに設定しているメニューの要素は右側に「:…

API16以下でツールバーのアイコンを一番左端まで表示したい

Toolbarに載せるアイコンについて、基本的に余白は空けるものなのですが、ここぞというところで、どうしても左端まで表示したいの、という場面がありますよね、ということで実装してみました。 API16以下の場合の実装で、17以上はandroid:paddingLeftの負の…

AndroidのToolbarの左側の余白の指定について

ぐぐればぐぐるほど一体どれがどれなんだーってなったので、まとめ。 一部指定が効く、効かないがあったとしてもどの要素に効くとかはさすがに変わらないでしょ...。 Activityのコード @Override protected void onCreate(Bundle savedInstanceState) { supe…

ToolbarのNavigationIconとして48dpでないアイコンを指定した場合

Toolbarの48dpのアイコン用領域の中心を指定したアイコンの中心として配置される*1。 上詰めとか、左詰めではないみたい。 Toolbarのlayout_heightがandroid:layout_height="?attr/actionBarSize"の場合、48dp用アイコンの領域に対し、左側に4dpのPaddingを…

RecyclerViewで一度表示されてから行ごとのViewHolderが切り替わる場合のログを眺める

の続き。 レイアウトの切り替えを伴うRecyclerViewの切り替えがうまく行くとはにわかに信じがたかったので、 タップしたら簡単にレイアウトを切り替えるように前回のコードを少し書き換えてログを見てみました。 まとめ 当たり前のことを確かめました。 レイ…

Toolbarをカスタマイズする際にどこをいじればよいのか

Toolbar をカスタマイズしたくてその際にいじったら良いパラメータとかいじっても意味ないパラメータとか試したのでメモ。 ヘタレなので、試したのはAPI21で、サポートライブラリはgradleのcom.android.support:appcompat-v7:23.1.0のバージョンです。 新し…

Toolbar内の要素の表示順

Toolbarを書く必要があったのですが、各要素の表示順がちょっと分からなかったのでまとめ。 Toolbar内の要素の表示順 左から、 NavigationIcon Logo Title / SubTitle Title(SubTitleと同時表示された時は上側) SubTitle(Titleと同時表示された時は下側) Too…

RecyclerViewで行ごとに表示を切り替える

Recycler View で行ごとに表示に使うレイアウトを切り替える、というのをやりたくて悪戦苦闘していましたので、とりあえず書いたのをメモ。 参考にしたのは、 Tumbling Dice — [Android]ListViewのレイアウトを動的に切り替える際の問題点 techbooster.booth…

ReyclerViewで基本的な使い方手順

ISUCONの話を読んで、もっとコードがうまくなりたい、コードが上手いってかっこいいって思い出せてよかったです。 RecyclerView で少しややこしいことをしたくて、 ListViewのやり方をそのまま当てはめて書いたら自爆したので、 初心に立ち返って基本的な使…

Kotlinでコンストラクタを書く

Kotlinで一からクラスを書く必要が出てきてかなり面食らったのでメモ。 KotlinのM11が一般的になる頃にまた追記しよう...。 プライマリコンストラクタとセカンダリコンストラクタについて プライマリコンストラクタを書く セカンダリコンストラクタを書く コ…

枠ぎりぎりまでImageViewやTextViewが表示される角丸のCardViewを作る

表題のことを仕事でしようと思ったら、かなりぐったりしたので、供養代わりにメモ。 辿りきれてないところもありますが... 内容 CardViewのサポートライブラリについて 影の設定 角丸の設定 ImageViewについて onDraw()でマスクを抜く setImageDrawableで角…

ArrayAdapterとViewHolderの関係について

参加しているプロジェクトのコードを読んで少し興味が出てきたので調べました。 参考のために読んでた記事とか。 Why is my list black? An Android optimization | Android Developers Blog Tumbling Dice — [Android]ListViewのレイアウトを動的に切り替え…

TabレイアウトでTabの内容の部分に任意のFragmentを入れる

面倒くさいからとりあえずメモがてらに置いてしまおう。 この記事やこの記事、この記事を参考に頑張っていたのですが、最終的に下記の記事を参考に頑張ってました。 http://www.truiton.com/2015/06/android-tabs-example-fragments-viewpager/ コードはほと…

古いAndroid Studioのアップデート

Android Studioをはじめてアップデートしようと思って、Android Studio > Check for Updatesを押して開かれるメニューを見たところ、下図のようにUpdate...の選択肢がDownloadになっていたので少しひよりました。 以下、作業手順をメモ。諸々のバージョンは…

Mixi Android Training 第5回分の参考資料の演習についてメモ2

ListViewの5がちょっときつかったです。 まとめ この範囲の演習で大事そうだと思った事を先にまとめ Android Studioで非Android Studioのプロジェクトを読み込む時は、専用のメニューから http://woshidan.hatenadiary.jp/entry/2015/05/05/225720 ContextMe…

Mixi Android Training 第5回分の参考資料の演習についてメモ1

Mixi Android Training 第五回分の参考資料の演習をやっています。 参考資料の演習が一通り追いついたら、授業見ながらアプリ作っていくことに決めましたというか、 演習がそれなりに重いので、勉強会いけていたとしてもついていけていたのかな感が若干あり…

mixi Android training 第四回分についてメモ2

http://mixi-inc.github.io/AndroidTraining/fundamentals/2.04.messaging-and-notification.html の続きです。 課題 AndroidStudio/assignments/fundamentals/4th/MessagingAndNotification/build.gradleを開き、 以下の問題に取り組んでください。 Intent …

mixi Android training 第四回分についてメモ1

なんていうか、これを見てひよっているうちに実習日記みたいなのしか書けなくなっていたのであえて書きましょうぞ。 AndroidStudioでgitを使う感覚に慣れたほうがよさそうです。 http://mixi-inc.github.io/AndroidTraining/fundamentals/2.04.messaging-and…

mixi Android Training 第三回分メモ

昨日フットサルをしたのですが、どしろうと過ぎてパスカットしてもボールがまっすぐ蹴れないので結局また取られるどうしようもなさがあります……。 mixiの人のまとめがこちら。 http://qiita.com/punchdrunker/items/4c069025680d1f0707d3 どうにもこうにもま…

mixi Android Training 第二回分メモ

今回は雪だったせいで会場はかなり空いてました。前の方の席にも電源が欲しい……。 内容 mixiの中の人のまとめ 中の人のまとめから気になったとこ gitterから 演習について Fragmentのインタフェース未実装のエラーのメッセージ群の先頭がレイアウトの読み込…

mixi Android Training 第一回分メモ

補欠から繰り上がれたので行きました。目次を見たら分かる通り、自分用です。 内容 自分用メモ 予習分 前書き Android-OSについて アーキテクチャ Dalvik VM バージョン プロジェクトの作成(Android Studio) プロジェクトの構成について srcディレクトリ res…

ActionBarSherlockとappcompat_v7と私

そういえば、ActionBarSherlockでリソースがありませんって表示される件について ちょっと質問したところ、 単にコンパイル失敗してるのでは、て教えてもらったので、 (教えてもらわないと現実に向き合わないところが有る(棒)) あらためて見てみたら、 andro…

ActionBarSherlockに関して

こんどはmixiの研修を見ながら、Androidの勉強をちょびちょびやってます。 引っかかってもそれなりに解決したりしなかったりして、書くことがなかったりするのですが、 ちょっと、つんでる点1点。 ActionBarSherlockに関して Android 2.2xより前でActionBar…

Android library projects cannot be launched 他

作ったばっかりのAndroidプロジェクトが動かない……だと……? ほとんどいじった覚えはない。 死んでくれ。 心の叫びを食らえ。 そうか! こういうとき、明るく笑ってディスプレイに死んでくれーって言ってるから、macがぐれてるのかもしれない。 大変だ。 とか…

ADTでgitを使ってみたかった

ADTはいくつか便利なプラグインがあらかじめ入っていて、 perspective(一定の目的を持ったいくつかのwindowの組み合わせ)を切り替えることでそれを利用できます。 最初に表示されているのはJavaのプロジェクトのパッケージを管理するperspectiveです。 ADTで…

やたらエラーが出ているAndroid Lintって何なんだ

よーし、お勉強も一通り終わったし、 ちょっとリストビュー自作してみたいなーとか、gitとどう連携させるだーとか思いながら、 新しいプロジェクト立ち上げたらappcompat_v7にエラーの×印がついていて、 え、まだ何もしてないよ!とものすごくびっくりしたの…

xml中のレイアウトやウィジェットの@idはいつ使うのか

Androidのお勉強を継続中で、ちょっとなるほど、と思ったのでメモ。 @+idを使わないのはどんなとき? Androidのビューやウィジェットを配置するとき、 とxmlに書いて、 アクティビティのJavaの方で Button button = (Button) findViewById(R.id.button); と…

ADTのエラー表示が思っていたより直接的だった件

今日は前々から習っていた講座に出てADTが出すエラーログと戦っていた。 ああうん、java.lang. .... って読めるか機械ちゃうわって思いながら ググったりしてたんですけども。 今読み直したら Caused by で始まる行があってめっちゃ直裁に原因書いてありまし…

Genymotionの仮想デバイスをSDKに連携させるのに少し手間取り、その仮想デバイスが瞑想状態(システムエラー)で立ち下がりもしない

高速仮想デバイスでデバッグサクサクのはずが動き出すまで4時間が溶けてました。 バージョン違ったり画面違うと表示がどう変わるかを自分の携帯で試すのは無理だから、 いずれ導入したかったのでいいもん。 表題のとおり、 Genymotionの仮想デバイスを連携…

Genymotionと一緒にインストールしたはずのOracle VM VirtualBoxがないという警告(Genymotion Free/Windows 7)

神沼三平太のメモ 「GENYMOTIONでKINDLE本を読む」 http://b.wwu.jp/genymotion%E3%81%A7kindle%E6%9C%AC%E3%82%92%E8%AA%AD%E3%82%80 などを参考にVM VirtualBoxをインストールしてみました。 OSはWindows 7です。 まず、Genymotionの公式サイトでアカウン…

自作のViewを作成してxmlファイルでレイアウトできるようにする

Androidでピアノ弾く感じのアプリが作りたくて、とりあえず Buttonを並べて、それぞれのButtonをクリックしたらSoundPool使って音を鳴らすところまで作ってみました。 ですが、これだといかんせん、ボタンをはじいたときに音が鳴るため、 ピアノを弾いている…

res/rawのリソースのIdを使おうとするとエラーが出る

音声を再生させようとしてrawフォルダにmp3入れて、さーリソースIDを指定しましょうか、という段で、R.raw.mp3ファイル名のファイル名の下に赤線が。。 ここ(http://androidgamepark.blogspot.jp/2013/04/rres.html) を参考にして試してみたけど、結局、 raw…

Android Composite ADB Interfaceをインストールする[Android:203SH,Windows 7]

Android講座で勉強したことを復習するために、家でAndroid SDKやらEclipseやらのインストールしてました。 想像以上にダウンロード時間が長いわ、ノートPCの容量が食われるわで、少しびっくりしました。 クリアしてもうやらないゲームとか消さなきゃ(笑) あ…

終わりそうに無いので反省とこれからの抱負を先に書いてみる

最近何をしてるかといいますと、 夏にうけたITスキルアップキャンプで書いていたものの続きをひたっすら書いていました。 正確に言うと書いては組みなおしています。。 もっと他のものを書いたほうがいいような気がしたのですが、 出来そうもないし時期が過…