search
LoginSignup
6

More than 5 years have passed since last update.

posted at

updated at

検索機能改善tips

検索機能改善tips

by kaelaela
1 / 16

kaelaela(Yuichi Maekawa)

Qiitaのプロフィール参照
@kaelaela
work@ Cyberagent

LTなので簡潔です


検索のちょっとした改善のお話


よくある改善

  • 検索履歴表示
  • ヒントを入れる
  • 入力中に候補が絞り込まれる
  • 検索結果がヒットなしのときの表示(Empty表示)
  • ~して検索してみてください

これら以外が今日の内容(新しいことではないです)


見てみたアプリ

  • AbemaTV
  • Abema FRESH!
  • Ameba
  • Google Play Music
  • Slack
  • DroidKaigi2016(PRしてもよいでしょうか :bow:)
  • Kindle
  • LINE などなど

いつでもどこでも検索

  • 常に検索バーを表示しておく
    device-2016-07-22-151632.png

  • 「検索結果ページ」に遷移しない(SPA)

  • RecyclerViewでAdapterを交換するなど

  • タブが入るとややこしい


検索ワードの強調

  • どんな内容にヒットしたかユーザーは気になる
  • HtmlクラスのfromHtmlメソッドを使い強調
  • Htmlタグで消耗したくないのでシンプル

即キーボード

  • 検索ページに遷移したら即キーボードを出す
    • getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
  • 逆に検索が終わったら即キーボードを閉じる
    • getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

Fast Scroll


Fast Scroll

  • 結果の量が増えるとすぐに移動が面倒になる
  • 画面の右(左)端に小さなインジケータを表示
  • 検索結果が分けれるならセクションを表示

Tap to Top

  • 一発で上にスクロール
    • RecyclerView#scrollToPosition(0)
  • smoothScrollToPosition()は時間がかかる
  • iOSではStatusbarのタップでリストの上に行く

Tap to Top

  • タブがあればタップしたら上に戻す
TabLayout.OnTabSelectedListener()
@Override
public void onTabReselected(TabLayout.Tab tab) {
   TapToTopTab currentTab = (TapToTopTab) pagerAdapter.getItem(position);
   currentTab.scrollToTop();
}
  • タブがないときは...?

Swipe to Refresh

  • トレンドなど最新の情報に意味がある場合
  • 同じキーワードで最新をみたいユーザーは多い
  • Twitterとかみんな意味もなく引っ張る(本能)
  • 公式: Adding Swipe-to-Refresh To Your App

まとめ

  • いつでもどこでも検索
  • 検索ワードのハイライト
  • 即キーボード
  • Fast Scroll
  • Tap to Top
  • Swipe to Refresh

thx ;-)

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
6