如何删除后退按钮和SearchView之间的左侧空格

时间:2017-11-10 07:07:48

标签: android toolbar searchview

我在后面按钮和Toolbar之间的SearchView左侧留有一个很大的空白区域。我的xml文件看起来像这样

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        app:layout_scrollFlags="scroll|enterAlways"
        android:contentInsetStart="0dp"
        app:contentInsetStart="0dp">

        <android.support.v7.widget.SearchView
            android:id="@+id/search_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>


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

在我的Activity我添加了一个后退按钮

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

如果我将其设置为false则可以正常工作。但我需要一个后退按钮。有办法解决吗?谢谢。

我没有使用menu layout

enter image description here

4 个答案:

答案 0 :(得分:5)

默认情况下,Toolbar在后​​退按钮后有16dp的意图。因此,在app:contentInsetStartWithNavigation="0dp"中加入Toolbar,它会删除该空格。

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    app:layout_scrollFlags="scroll|enterAlways"
    android:contentInsetStart="0dp"
    app:contentInsetStartWithNavigation="0dp"
    app:contentInsetStart="0dp">

答案 1 :(得分:1)

SearchView

中添加此属性
<android.support.v7.widget.SearchView
            android:id="@+id/search_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:paddingLeft="-16dp"
            android:paddingStart="-16dp"/>

并检查它。希望这会对你有所帮助。

答案 2 :(得分:1)

在工具栏中添加这些行

android:contentInsetLeft="0dp"
android:contentInsetStart="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
android:contentInsetRight="0dp"
android:contentInsetEnd="0dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp"

答案 3 :(得分:0)

使用MaxWidth选项通过onCreateOptionsMenu()方法以编程方式实现

@override 
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_search, menu);
    SearchView searchView = (SearchView)menu.findItem(R.id.menu_search).getActionView();
    searchView.setMaxWidth(Integer.MAX_VALUE);

如果使用Kotlin,请使用:

searchView.maxWidth = Integer.MAX_VALUE