2016-07-12 12 views
3

私はGoogle Play Store appSearchViewのように振る舞う/見てtoolbarSearchViewのスタイルをしようとしています。それは、cardviewでsearchviewをラップするようだが、それはまた、ボタン/引き出しのトグル動作を統合するようだ。Google PlayストアアプリのようにAndroid SearchViewのスタイルを設定するにはどうすればよいですか?

あなたはそれをクリックしたときに

MainActivity SearchView

は、引き出しのトグル変化は矢印にこの主な活動のsearchView、それが統合されていている引き出しトグル(その検索ビューからフォーカスを削除しますクリックしたとき)

enter image description here

あなたはストア内のアプリをクリックすると、アプリの詳細ページに移動し、あなたが崩壊して検索ビューのアイコン化したバージョンのように見えるものを持っていますボタンアップとction項目:あなたが検索アイコンをクリックした場合

enter image description here

が最後にそれが(リップルアニメーションの種類に)アクションアイテムとして展開され、画面上のすべての方法が表示され、起動ボタンが組み込まれています。

enter image description here

私は多くの問題を持って、それを自分自身をしようとすると。私は、searchviewをcardviewにラップし、それをツールバーに入れようとしました。それは動作しますが、常に(私は動作しません、contentInsetStartを試してみました)私は削除することはできません左側が水増しされています。

<android.support.v7.widget.Toolbar 
    android:id="@+id/activityCatalogToolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    app:popupTheme="@style/AppTheme.PopupOverlay" 
    android:theme="@style/AppTheme.AppBarOverlay" 
    app:contentInsetStart="0dp" 
    app:contentInsetLeft="0dp"> 

    <android.support.v7.widget.CardView 
     android:id="@+id/activityCatalogSearchContainer" 
     android:layout_height="match_parent" 
     android:layout_width="wrap_content" 
     android:layout_gravity="end" 
     android:layout_marginTop="4dp" 
     android:layout_marginBottom="4dp" 
     android:layout_marginRight="8dp" 
     android:layout_marginLeft="8dp" 
     app:cardCornerRadius="4dp" 
     app:cardElevation="8dp"> 

     <android.support.v7.widget.SearchView 
      android:id="@+id/activityCatalogSearch" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:queryHint="" 
      android:iconifiedByDefault="false"/> 

    </android.support.v7.widget.CardView> 

</android.support.v7.widget.Toolbar> 

enter image description here

私もツールバーを取り外して交換しようとしていますこれは単なるFrameLayoutです。これにより私はパディングをコントロールすることができますが、明らかに私はツールバーの機能(上のボタンなど)を失い、テーマの問題(アイコンとテキストが消える)も導入します。

誰もが、彼らがこれをやっているかのアイデアを持っていますか?フレームワークに既に存在するスタイルウィジェットに別のライブラリを追加したくないのです。ありがとう!

+0

チェックこのhttp://stackoverflow.com/questions/30775295/searchview-like-google-playで最高の結果を達成するためにtrueにクリッカブルを設定-video-app – Raghavendra

+0

@ d370urn3urあなたは私の答えを見ましたか... – Ironman

答えて

6

あなたはこのプロジェクトに深くダイブしてみてください:ロリポップやマシュマロのために

https://android.googlesource.com/platform/packages/apps/Dialer/

を、またはNそれがあるSearchEditTextLayoutを持っています必要なもの:

アドバンテージ

  • Googleが作成したコードであり、第三者機関ではありません。
+1

私はソースを見て、それらが複合ビューを作成し、すべてをカスタム方法で処理したことを知りました。ツールバーをカスタマイズして、必要な方法でカスタマイズするだけの理由がわかりません。それは、あなたが古いActionBarイディオムの外に少し行きたいと思えば、それは無意味です。私はそのパディングを取り除く方法を理解することさえできないということです。私はframelayoutをサブクラス化して、自分のことをやりました。ヒントをありがとう! – d370urn3ur

2

あなたはSearchViewのこのカスタム実装を使用する必要があります。

https://github.com/Quinny898/PersistentSearch

のAndroidメーカー:あなたはまだいない場合

はSonatypeリポジトリを追加します。

maven { 
     url "https://oss.sonatype.org/content/repositories/snapshots" 
    } 

は、依存関係としてそれをインポートします。あなたには

compile 'com.quinny898.library.persistentsearch:library:1.1.0-SNAPSHOT' 

をレイアウト:

<com.quinny898.library.persistentsearch.SearchBox 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/searchbox" 
     /> 

出力:

enter image description here

+1

このライブラリは推奨されておらず、私の場合はテーマの問題なので、追加の機能をすべて追加したくありません。私自身の複合的な見方を終わらせた。 – d370urn3ur

0

私自身はこれを構築しようとしていました。検索ボタンをImageButtonにするだけで終わりました。これをクリックすると、上に追加されるフラグメントをトリガーし、このように見えるレイアウト内にEdittextが含まれます。このフラグメントは、この検索ボックスの下のリストビューで構成されています。

ヒント:任意の背景なしにフラグメントのrootlayoutを保ち、透明ペイン

+0

必要に応じて1〜2時間でレイアウトを投稿できます。現在アクセス権がありません。これを行うBTWは、ウェブ上での非同期ソースからの提案の取得など、多くのカスタマイズを可能にします... – Kushan

関連する問題