如何删除后退按钮和 SearchView 之间的左侧 space
How can I remove the left space between back button and SearchView
我的 Toolbar
左侧后退按钮和 SearchView
之间一直有一个白色的大 space。我的 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
。
在 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"/>
检查一下。希望对您有所帮助。
默认情况下,Toolbar
在后退按钮后插入 16dp。因此,在 Toolbar
中包含 app:contentInsetStartWithNavigation="0dp"
,它将删除该空格。
<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">
在您的工具栏中添加这些行
android:contentInsetLeft="0dp"
android:contentInsetStart="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
android:contentInsetRight="0dp"
android:contentInsetEnd="0dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp"
在 onCreateOptionsMenu() 方法中使用 MaxWidth 选项以编程方式完成
@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
我的 Toolbar
左侧后退按钮和 SearchView
之间一直有一个白色的大 space。我的 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
。
在 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"/>
检查一下。希望对您有所帮助。
默认情况下,Toolbar
在后退按钮后插入 16dp。因此,在 Toolbar
中包含 app:contentInsetStartWithNavigation="0dp"
,它将删除该空格。
<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">
在您的工具栏中添加这些行
android:contentInsetLeft="0dp"
android:contentInsetStart="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
android:contentInsetRight="0dp"
android:contentInsetEnd="0dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp"
在 onCreateOptionsMenu() 方法中使用 MaxWidth 选项以编程方式完成
@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