Android searchView带语音图标

时间:2015-07-08 01:44:20

标签: android user-interface

在Android应用中,我想实现像这样的searchView enter image description here

有一些要求:

  1. SearchIcon和文本(“搜索”)位于searchView的中间

  2. 一个voiceIcon位于搜索视图的右侧。

  3. 3.默认情况下会扩展searchView。

    我尝试使用android searchView组件,但我无法将searchIcon移动到searchView的中间,我也不知道如何添加一个voiceIcon。

    我怎么能这样做,谢谢。

3 个答案:

答案 0 :(得分:0)

我知道我不会使用自定义布局来执行此操作,所以我这样写:

 <LinearLayout
                    android:orientation="horizontal"
                    android:background="@color/orange_yellow"
                    android:gravity="center"
                    android:layout_width="match_parent"
                    android:layout_height="50dp">
                    <RelativeLayout
                        android:id="@+id/homeSearchView"
                        android:background="@color/white"
                        android:layout_marginLeft="10dp"
                        android:layout_width="match_parent"
                        android:layout_weight="5"
                        android:gravity="center_horizontal"
                        android:layout_height="wrap_content">
                        <LinearLayout
                            android:orientation="horizontal"
                            android:gravity="center"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_toLeftOf="@+id/voiceSearchIconImageView"
                            android:layout_toStartOf="@+id/voiceSearchIconImageView">

                            <ImageView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:background="@drawable/ic_action_search"
                                android:id="@+id/searchIconImageView" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:gravity="center"
                                android:text="@string/search"
                                android:id="@+id/textView" />
                        </LinearLayout>

                        <ImageView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_weight="1"
                            android:background="@drawable/ic_action_voice"
                            android:id="@+id/voiceSearchIconImageView"
                            android:layout_alignParentTop="true"
                            android:layout_alignParentRight="true"
                            android:layout_alignParentEnd="true" />


                    </RelativeLayout>

                    <ImageButton
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:layout_marginRight="10dp"
                        android:background="@drawable/ic_action_scan"
                        android:id="@+id/scanImageButton" />
</LinearLayout>

似乎有效

enter image description here

下一步是实现SearchView组件之类的搜索逻辑。

答案 1 :(得分:0)

如果您选择使用SearchView,则会在XML中创建可搜索项目。

要获取麦克风徽标,您可以将此行添加到可搜索的

android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"

如果您按照此处可以找到的Android教程,这将启用语音模块,并将麦克风图标添加到您的searchView http://developer.android.com/guide/topics/search/search-dialog.html

答案 2 :(得分:0)

您还可以将麦克风图标替换为自定义图标 通过将其添加到xml的ur search_view中

app:voiceIcon="@drawable/ic_mic