独自のViewを作るときに困ったことがたくさんあったので、まとめておこうと思います。 (ところで独自Viewのことは何て呼ぶんでしょうか? Custom View? Custom Component? Custom Widget?) コンストラクタの作りかた Viewにはコンストラクタが3種類存在します。(この辺を見るとわかります) 基本的に全部オーバーライドしておけば問題ありませんでした。 <追記 2016/01/19> API Level 21 からコンストラクタが4種類に増えたようです。 引数が4つのコンストラクタを Lolipop 未満のOSから呼び出すと InvocationTargetException を起こすので、オーバーライドの際にはバージョン分岐などが必要そうです。 追記 2016/01/19> XMLで定義したLayoutからインスタンス化された時には、引数が2つのコ
みなさんこんにちは。有山圭二と申します。 Android 5.0(開発コード: Lollipop)の正式版の配信が開始され、いよいよAPI Level 21とMaterial Designへの対応に本腰を入れるシーズンになりましたね。 このブログはTech Blogと言うことなので、エンジニアに向けてLollipopで追加された新しいAPIを詳解する……という企画を最初考えたのですが、きっとLollipopに関する情報は他の新しいもの好きがQiitaなどに書くと思うので、今回は思い切ってAndroidのCanvasに焦点を当てることにしました。 「Lollipopの時代にまさかのCanvas」と、驚かれる人も多いかもしれませんが、頻繁に使う機会がない分、ネット上にまとまった情報も少ないので、備忘録を兼ねている面もあります。 1.1 Canvasとは 最古のAPI Canvasは、Andro
Android StudioからKotlinで開発していくうち、 ビルド、インストールしようとしても、何度やっても「Application Installation Failed」となってしまう問題に行き当たったので対策のメモです。 Intelli J IDEAでも遭遇するかもしれません。 Android Studio でRunボタンを押して、ビルド、エミュレータ・端末へのインストールが始まった後に、 こんなエラーに行き当たりました。 Application Installation Failed Installation failed with message Failed to establish session. It is possible that this issue is resolved by uninstalling an existing version of the
スポンサードリンク こんにちは。 今回は、Android SDKのインストール方法について書いていきたいと思います。 2017年7月でまたまたAndroid SDKの仕様が大幅に変更されたので、その仕様に対応した方法で解説していきたいと思います。 Version 3.1.2対応版です。 ADB(ROM焼き等)だけ使うよ!という人は、これよりもっと簡単な方法があるので 『Android SDKが不要! 15秒でADBコマンドが使える『15 seconds ADB Installer』の導入方法』をご参照ください。 今までとの変更点。 『The "android" command is deprecated. For manual SDK, AVD, and project management, please use Android Studio. For command-line tool
世の中の人はこれを「最後尾までスクロールされたかどうか」を調べて実現するんですが、ちょっとクールじゃないです。 と言うのも、「ListViewのアイテムの総数」とか「スクロールで表示されたアイテムの総数」とか「そもそもListViewが持ってるアイテムの総数じゃスクロールされないケースの処理」とか、色々面倒臭いことを考えないといけないからです。
Androidでピアノ弾く感じのアプリが作りたくて、とりあえず Buttonを並べて、それぞれのButtonをクリックしたらSoundPool使って音を鳴らすところまで作ってみました。 ですが、これだといかんせん、ボタンをはじいたときに音が鳴るため、 ピアノを弾いているというより、弦を弾いているような感じがあります。 そのため、改良案として ボタンをタッチした瞬間に音がなるようにする 画面をタッチした(&指を離した)ときの位置を取得→位置からどの音が鳴るか判定&鍵盤っぽい背景用意 を考えました。 で、最初は下の方で考えていたのですが、 座標ってAndroidの画面の大きさによって変わる->その判定が必要? イベントを起こす前に毎回座標についての判定を行う? せっかくだから複数タッチしたい。その場合配列で値が渡される感じなのだけどその配列の長さ分判定処理書くの? ループの中にループ入って……
Android APIs を眺めていると “tint” って単語が良く出てきます (“android:backgroundTint” とか “android:progressTint” とか) が、tint についてあんまり日本語の情報がなかったのでまとめてみます。 ちなみに “tint” の英語としての意味は、名詞で 「色合い」 とか 「染料」、動詞だと 「色を付ける」 や 「染める」 などです。 このエントリの内容 API level 21 から使えるようになった Drawable への色付け (Drawable tinting) について説明します。 アルファマスクとして Drawable を定義し、表示時に色を指定するための機能です。 View の背景の Drawable への着色のための、あるいは ProgressBar や ImageView などで表示される Drawable
AndroidのUIでツールバーとコンテンツ領域が連動してツールバーが広がったり縮まったりするやつありますよね Mastering the Coordinator Layout · Saúl Molinero あれはCoordinatorLayoutというLayoutを使って実装されているんですが、コンテンツ領域のViewとして使えるものが限られています 例えばRecyclerViewとかNestedScrollViewとか、NestedScrollingChildインタフェースを実装しているクラスとなら一緒に使えます ただ今回WebViewを使いたかったんですがWebViewではNestedScrollingChildが実装されていないので素のままだとCoordinatorLayoutと一緒に使えません これについては同じことで困っている人も何人かいるようで、調べてる最中にtwitter
CoordinatorLayoutとRecyclerViewを使うことでスクロール時に様々なことを行うことができます。 ちょっとCoordinatorLayoutを調べていて、もしかしたらListViewでもできるんじゃ、、とやってみました。 RecyclerViewではスクロールした時にAppBarLayoutが小さくなったり、といったことが行えました。これをListViewでもやりたい話です。 https://www.google.com/design/spec/patterns/scrolling-techniques.html より 前置き CoordinatorLayoutはAPI Level 21からViewにスクロールのイベントを親Viewに伝える仕組みがあり、それを利用しています。 http://developer.android.com/intl/ja/reference
概要 AndroidStudio1.4から追加されたScrolling Layoutを読み解き、CoordinatorLayout, AppBarLayout, CollasingToolbarLayoutを理解する 詳細 生成されたレイアウトxml <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_
コードから動的にViewを生成したい時がある。そしてそのとき見た目をカスタマイズしたいなんてときがある。もちろんsetBackground()とかsetPadding()を呼び出して設定することは可能であるが、どうせならXMLでやるときのようにstyleを適用したい、なんて場面があるだろう。・・・私にはあった。 さてそんなときに、どうやったらJavaのコードでnewしたTextViewにstyleを適用できるのだろうか、という話。2つ方法があって、どちらもコンストラクタでstyleを指定する。 1つはViewのコンストラクタに引数を4つとるものを使う方法。new TextView(context, null, 0, R.style.some_style);という感じでTextViewを生成する。ただし引数4つのコンストラクタはAPI21からしか存在しないので注意1。 もう1つはContex
【環境】Android Studio 2.0 基本的な作成の流れ TextViewやPlain TextView、Buttonなどに 角丸や枠線を付けたい時の基本的な流れは下図の通りです。 [1] drawableディレクトリ直下にxmlファイルを作成。 [2] xmlファイルを編集。 作成したxmlファイルで角丸や枠の設定をします。 [3] レイアウトのxmlファイルを編集。 レイアウトのxmlファイルで、使用したいbackgroundに[2]で作成したdrawableを指定。 今回は、TextViewのbackgroundに指定してみます。 NewStyle/app/src/main/res/layout/activity_main.xml (← 既存ファイルを編集) [4] 完成!! 色々とサンプルを作ってみる。 さて、上記を基本に色々とサンプルを作ってみます。 ① 枠線 TextV
githubで★を集めてるandroid best practiceが勉強になるなぁと感心しておりまして、 思い切って翻訳していいかどうか問い合わせてみると快諾いただけたので翻訳してみました。 (Eclipse + ADTの話もでてますがそのまま訳してます。) 原文 : https://github.com/futurice/android-best-practices (Qiitaに投稿するついでに本家のリポジトリにもプルリクしてくれって言われてるので少し待てばそちらでも見れると思います。) この場を借りて、@askaさん、添削ありがとうございましたm_ _m 大変助かりました。 Summary Gradleで推奨されるプロジェクト構成で開発しよう パスワードや注意を要するデータはgradle.propertiesに書こう 自分でHTTP Clientは作らず、VolleyやOkHttp
Android Developers Blogでも紹介されているように、Android Studio 1.5のstableバージョンがリリースされた。 特に、今回のリリースでMemory Profiler機能がついたというので早速試してみる。 In addition to the stability improvements and bug fixes, we’ve added a new feature to the memory profiler. It can now assist you in detecting some of the most commonly known causes of leaked activities. 最近は高性能な端末が出てきて、メモリ容量も多くなったとはいえ、メモリ管理はパフォーマンスに影響するため、いつの時代も大事なキーワード。 以前はheap
本エントリーの内容は、私自身まったく確信がありません。 読まれた方はあくまで個人の責任にて最終的な判断をしていただきたいと思います。 また、何らかの明確な答えのソースをお持ちの方がいらっしゃったら情報提供いただけるとうれしいです。 Android開発をエミュレータ上で行う際、MAPなどを利用したい場合、Google Play Serviceがインストールされている必要があります。 (Notificationなども無理だったかな?) しかし、以下のようなエミュレータ上にはGoogle Play Serviceがインストールされておらず、動作させることができません。 Visual Studio Emulator for Android Xamarin Android Player Genymotion で、Web上で散見されるのが、gappsをダウンロードして自力でインストールする方法なんです
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く