布団の中にいたい

Elasticsearchいじったり、Androidアプリ書いたり。最近は数学の勉強が楽しくなってきました。

Android

LinearLayoutでViewを並べる

久しぶりにAndroidのアプリを触り始めたはいいものの、View周りについてびっくりするぐらいスッポ抜けてるので基礎から復習。LinearLayoutで中にある要素をどういった形で並べるかという話。 LinearLayoutは中にある要素を縦か横に並べるためのlayoutで要素…

EditTextで左斜め上から文字を入力できるようにする

久しぶりにandroidで遊んでいる中でEditTextで文字を入力するときに、左斜め上から文字を入力できるようにしたいと思って調べたので軽くメモ。 やり方はすごく簡単。android:gravityにtop|leftを指定するだけ。 <EditText android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="top|left" > なんでこうなっているかというとEditTextが継</edittext>…

onBackPressedの落とし穴

onKeyDownをonBackPressedに切り替えて使ってみたら、問答無用で遷移前のActivityに戻されてしまう現象に遭遇しました。正直中途半端な知識で使うのはどうかと思っていたので、内部でどのような動作をしているか少し調べてみました。 ソースコードをどんどん…

SearchViewの背景色を変更する

SearchViewを導入して、クエリを入力して検索するところまで出来たので、今度はSearchViewの見た目自体を変更しようとしたのですが、かなり詰まったので、その際に調べた内容をまとめます。 SearchViewは他のViewとは微妙に異なっていて、SearchView自体が複…

SearchViewを使用する

GmailやFacebookアプリみたいな検索窓を実装したいなーと考え色々調べていると、SearchViewを使用する方法がだいぶ簡単そうだったので、試してみた。 SearchViewのdocumentは以下 SearchView | Android Developers 配置するだけならすごく簡単でToolbarのxml…

WebViewでロード時にProgressBarを表示する

WebViewロード時にProgressBarを表示する WebViewでローディングしているときの画面が真っ白でほんとにローディングしているのか不安になるので,ProgressBarを表示してローディングしているっぽくすることにしました. WebViewは設定するWebViewClientをい…

onKeyDownじゃなくて,onBackPressedでよかったみたい

以前に戻るボタンの動作をhandlingするには,onKeyDownを使うみたいな記事を書いたが,戻るボタンだけでいいなら,onBackPressedをoverrideするだけで良いみたい. onBackPressedの方がメソッド名が明確でわかりやすいので,戻るボタンだけの用途ならonBackP…

AndroidのToolbarに戻るボタンをつける

Listの要素をタップしたら別のActivityに遷移してWebViewを表示する,みたいな挙動な挙動を実装しようとしているが,前回端末の戻るボタンを押したときにページバックするという実装を行ったせいでどんどんリンク先に進んでいくと前のActivityに戻りづらくな…

WebViewで戻るボタンを押したときに前のページに戻るようにする

AndroidでWebViewを使用して端末の戻るボタンをおした時,前のページに戻るのではなく,前のActivityに戻ってしまう状況になって色々困ったのでメモ. このような状況で「前のページに戻る」という挙動を実装するには戻るボタンが押されたというイベントをフ…

AndroidアプリからURLスキームでTwitterアプリに飛ばす

自分で実装中のアプリでTwitterの検索に飛ばす必要があったときに調べた内容です. やったこととしては以下の2つです. Twitterのアプリがインストールされているかを確認 インストールされていればTwitterアプリに,されてなければブラウザに飛ばす. Twit…

WebViewでlinkタップ時にブラウザに飛ばないようにする

WebViewでlinkやボタンをタップすると,何もしていない場合だとWebViewからデフォルトのブラウザに飛ばされます.今回はWebViewからブラウザに飛ばすのではなく,WebView内で完結させたかったので,そのやり方を調べました. やり方は簡単で以下でできるよう…