缩短Android中工具栏上的SearchView长度

时间:2016-01-20 06:33:06

标签: android xml android-toolbar searchview

我点击搜索图标后试图缩短SearchView的长度,因为它与我的ImageView徽标发生碰撞,如您所见:

enter image description here

我希望它在没有聚焦时保持这样:

enter image description here

我希望SearchView扩展到ImageView徽标的末尾。 这是我的工具栏代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/outnix_toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize">

    <ImageView
        android:layout_width="80dp"
        android:layout_height="30dp"
        android:src="@drawable/outnix_logo_big"/>


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

菜单项代码:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/preferences_menu_item"
        android:title="@string/preferences"
        app:showAsAction="never"/>

    <item
        android:id="@+id/sign_in_menu_item"
        android:title="@string/sign_in"
        app:showAsAction="never"/>

    <item
        android:id="@+id/search_menu_item"
        app:actionLayout="@layout/searchview"
        app:showAsAction="ifRoom"
        android:title="@string/search"/>

</menu>

SearchView代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.SearchView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

我尝试将layout_width的{​​{1}}更改为200dp而不是SearchView,但这就是发生的事情:

enter image description here

我希望搜索图标保持在右侧(溢出菜单图标之前),但是在徽标前面展开match_parent的长度。这可能吗?如果是,欢迎任何帮助!

1 个答案:

答案 0 :(得分:0)

只需添加ID到图片视图和搜索视图

在搜索视图中添加此额外行 android:layout_toRightOf="@+id/imageviewl"

像这样使用您的搜索视图 保持ID到图像视图

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/outnix_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">

<ImageView
    android:layout_width="80dp"
    android:layout_height="30dp"
    android:src="@drawable/outnix_logo_big"/>

并将搜索视图更改为此

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.SearchView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_toRightOf="@+id/imageviewl"
    android:layout_width="wrap_content"
    android:layout_height="?attr/actionBarSize">
</android.support.v7.widget.SearchView>