From design to android, part 1 14 Mar 2017 Thanks to amazing design platforms like Dribbble or MaterialUp, we, as developers have access to a huge catalog of well-made design concepts, interfaces, and proposals in clicks. Nevertheless, sometimes some details are almost impossible to implement and, at times, some UX aspects are not taken into account. For that reason I thought that it would be nice
6 best practices for stellar software delivery management with OpenText™ ALM Octane Software delivery management is critical for balancing speed, agility, and quality to ensure that organizations deliver innovation and high-quality applications faster. As teams grow and… October 2, 2024 • 4 minute read DevSecOps: It’s Time to Level Up (with a Little Help from AI) On Sept 24, we’re not just talki
先日の DroidKaigi 2017 で発表した「Building my own debugging tool on overlay」のなかで、WindowManager で取り扱うレイヤについて触れた部分がありますが、Android の次バージョンである O から使用できなくなるレイヤ、代替レイヤについてのアップデートがありますので、こちらにも書き残しておこうと思います。 developer.android.com developer.android.com 使用できなくなるレイヤ 以下のレイヤは使用できなくなります。 TYPE_PHONE TYPE_PRIORITY_PHONE TYPE_SYSTEM_ALERT TYPE_SYSTEM_OVERLAY TYPE_SYSTEM_ERROR このうち DroidKaigi の発表で取り扱った部分は TYPE_SYSTEM_OVERLAY
TL;DR RecyclerViewのsmooth scrollの動作を変更するにはSmoothScrollerを実装する 全部自分で実装するのはかなり大変そうだが、既存の拡張だけでもそれなりに動作を変更できる はじめに タイトルがなに言ってるんだこいつは状態ですが、移動距離の長くなるポジションでRecyclerView#smoothScrollToPositionすると下のGifアニメのように、ひたすら一定の速度で移動し続ける動作になります。 Twitter公式クライアントでは、タブをタップした時にTLの先頭まで戻れますが、移動距離が長くなるようなときにはsmooth scrollせずに一瞬で先頭が表示されます。 このような動作にしてもいいのですが、あまりにも味気ないので少しスクロールを見せた後、指定したポジションに移動する動きを実現するために少し調査したのでまとめます。 Recycle
概要 Material Design対応を行っているアプリが増えてきたと感じる今日この頃ですが、みなさんRipple Effectの対応は行っていますか。 Ripple EffectはMaterial Designの中でもキーになる表現効果ですが、APIレベル21(Lollipop)以上のOSでないと標準の仕組みでは扱えないため後回しにしているアプリも多いのではないかと思います。 今回は、私が開発に携わっている女性向けファッションアプリ iQON で、Ripple Effect対応を行った際の話を書きたいと思います。 対応方針 Ripple Effect対応を行う上で、まずは以下のような対応方針を定めました。 1. 標準の仕組みを使って対応させる Ripple Effectはバックポートされたサードパーティ製のLibraryがいくつか存在しますが、今回はそのようなLibraryは使わないで
class: chapter-1, hero, center, middle # <nobr>逆引き</nobr><nobr>マテリアル</nobr><nobr>デザイン</nobr> DroidKaigi 2017 2017/03/09 荒木佑一 --- class: chapter-1, normal # 自己紹介 .card[ 荒木佑一 [@yuichi_araki](https://twitter.com/yuichi_araki) Developer Programs Engineer @Google - サポート ライブラリ (主に design と transition) - [d.android.com/samples](http://d.android.com/samples) のサンプルいろいろ - Android Studio のテンプレートいくつか - [Camer
Gradleはライブラリの依存関係を上手に管理してくれるすぐれものですが、まれに突拍子もない不具合が発生する場合があります。しばらく前にGradleの推移的依存関係でハマったことがあったので、その具体的現象と原因、解決方法についてまとめておきました。 #推移的依存関係とは? Gradleのドキュメント読んでも、ほへー、位の感想なんで、こちらのサイトがわかりやすかったです。端的に言うと、複数のライブラリがあるライブラリ(A)に依存している場合、Aはバージョンが一番最新のものが適用されるということです。 なお推移的(transtive)とは言葉として??って感じでしたが、数学用語なんですね。wikipediaで説明を読むとなるほどなーという感じです。 #具体的な事象 ある時、Pureeのバージョンアップ(3.3.0 -> 4.1.0)したところ、releaseのみビルドがfailしました。理由
Loading Large Bitmaps Efficiently の内容なのですが、補足も入れてメモっておきます。 端的にいうと、 実際に表示するサイズより大きい Bitmap を読みこむのはメモリの無駄 (拡大させるとかなら話は別だけど) ・高解像度のカメラで取られた写真は往々にしてディスプレイのピクセルサイズより大きい ・サムネイルとして使うのに元のサイズのまま読み込むのはばかげてる ・大きいサイズの Bitmap をメモリに展開したら OutOfMemoryException になる ステップとしては3つ 1. メモリに Bitmap 展開せずに、サイズや MimeType だけを取得する 2. 1. の情報をもとにサブサンプルにサイズを決める 3. 2. で決めたサブサンプルで Bitmap をメモリに読み込む 1. メモリに Bitmap 展開せずに、サイズや MimeType
概要 Android アプリ開発をしていると、しばしば画像ファイルを扱う場面が訪れます。 私が製作している Android アプリ SobaCha においても、画像ファイルを Twitter へ投稿する為の機能が存在しています。この画像投稿機能を改修している際に、Android の持つ画像ファイルの独特な扱い方と対面しました。 そこで私がつまづいてしまった点である File と Uri の関係をまとめ、後々調べる方のお役に立てればと思い書いてみました。 要約 画像ファイルはなるべく画像データが必要になる瞬間まで Uri で扱い、最後に Uri から InputStream を開いて Bitmap を取得しましょう。途中でファイルのパスを得ようとしてはいけません。 Android における画像ファイル Android において、画像ファイルを扱う際に使用するクラスは 2 種類存在します。 F
Before starting with the recently published Trade Me app for jobs hunters, we spent some time reading and thinking about how we can build a stable app and how to make sure that the quality of the app is maintained over time. I’ll not be covering in this post stuff like having a CI (we use Jenkins), choosing to go with basic MVP, DI (Dependency Injection), mocking HTTP responses, etc… And the value
はじめに 「Androidの通知をタップするとActivityが起動する」というのはよく見かけますが、その逆の「通知が消されたのを検知して何らかのアクションをする」というのはあまり見かけないと思ったので調べてみました。 どうやらNotificationCompat#setDeleteIntent()というメソッドとBroadcastReceiverを使えば実現出来そうだということが分かったのでまとめます。 今回はサンプルとして、ボタンを押すと通知が表示され 通知をタップすると「通知がタップされました」というToastが表示される 通知をスワイプして削除(若しくは全部消す)すると「通知が削除されました」というToastが表示される という簡易的なアプリを用いて説明します 実装 実装の大まかな流れとしては 通知を組み立てるときにNotificationCompat#setDeleteInten
EditText への Enter キー入力を検知して何か処理をしたい、ということを調べてみると、TextView.OnEditorActionListener を TextView#setOnEditorActionListener メソッド で設定すればよいというようなブログ記事がいくつか見つかる。 editText.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { // ... 処理 ... return false; } }); EditTextでソフトキーボードのイベントをハンドリングする EditTextでEnterが押されたらキー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く