woshidan's blog

あいとゆうきとITと、とっておきの話。

Android

Androidでは1spの大きさがユーザー側で指定できる件について

そういえば、デザイナーさんが文字をdpで指定していて、遥か昔、文字は基本spでって聞いた覚えがあったのに何でかな、と思ったら、 3年前からspはユーザー側で1spあたりの表示サイズが変更できるようになっていたらしいです。 Y.A.M の 雑記帳: Android テー…

ProgressBarの色をカスタマイズ

stackoverflow.com ProgressBar | Android Developers http://developer.android.com/intl/ja/guide/topics/ui/dialogs.html#ShowingADialog メモ styleはhorizontalBarと書いてあるもの以外、全部円。大きさや回転方向が違う。 ダウンロード時などに出てく…

Snackbarの動きをFrameLayoutとCoordinatorLayoutで比べてみた

CoordinatorLayoutがなんぼのもんじゃーい、というのがあったので、CoordinatorLayoutの働きの1つのSnackbarが出た時のFABのアニメーションを比べてみた。 検証用コード dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.an…

Viewの特定の辺に線をつける

元々はRecyclerViewに区切り線がつけたかったのですが、正当派の実装で区切り線をつけると大変そうだったというかなぜかクラッシュばかりしてしまいました*1。 qiita.com それで方針転換して、とりあえず下線をViewにつけようと思って調べていたところ、下記…

マテリアルデザイン用のライブラリを自分用にある程度試してみたメモ

少し慣れてきた気がするので、マテリアルデザイン用のライブラリを自分用にある程度試してみたメモ。 動作等は適宜下記を参考にしています。 http://android-developers.blogspot.jp/2015/05/android-design-support-library.html Navigation View いわゆる…

はじめてのEspresso

EspressoではUIViewの表示、外部からIntentを渡されて(BroadcastReceiver?)起動する時の画面等、外部とのやりとりはなるべく行わないで、この画面でこの値が与えられている時は、 この要素が表示されているよね、ということをテストするみたいです。 とりあ…

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の 一番右側の「:」のアイコンのカスタマイズ

2019/03/07 追記 以下の内容は執筆当時は動作していましたが、2019年3月7日現在の開発環境では動作しないようです。 現在ご利用いただく場合は以下のツイートで紹介されている記事や現在の公式ドキュメントを参照してください。 operandoOS さん、ご指摘あり…

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…