gpt4 book ai didi

android - 将搜索框/文本字段添加到 android 的标题栏

转载 作者:太空狗 更新时间:2023-10-29 15:51:19 24 4
gpt4 key购买 nike

在我的应用程序的一个 Activity 中,我使用 android.support.v7.widget.Toolbar 作为标题栏。默认情况下,标题栏布局由

  1. ImageButton“抽屉导航”在最左边

  2. TextView 标题栏的标题

  3. 最右边的菜单项

我正在尝试:

  • 将标题设置为“”,这样标题基本上不会占用任何空间

  • 在“抽屉导航”和现有菜单项之间添加一个元素 X(例如,某种文本输入/搜索框),这样该元素将占据 1 到 3 之间的全部空间。

    <

我试图将 X 添加到菜单项,但无法将其宽度设置为标题栏中的剩余空间。我想我可能必须手动修改标题栏布局,而不是将 X 添加到菜单项。尽管如此,我仍然不知道如何让这个元素自动占据 1 和 3 之间的全部剩余空间。你有什么建议吗?谢谢。

最佳答案

  1. 将标题设置为“”,这样标题基本上不会占用任何空间。

为此,您不需要将标题设置为“”,只需调用

getSupportActionBar().setDisplayShowTitleEnabled(false);
  1. 在“抽屉导航”和现有菜单项之间添加一个元素 X(例如,某种文本输入/搜索框),这样该元素将占据 1 到 3 之间的全部空间。

为此你需要编辑 menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".ui.activities.UserListActivity">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="never" />
<item
android:id="@+id/menu_search"
android:title="@string/menu_search"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always"
android:icon="@android:drawable/ic_search_category_default"/>
</menu>

并且在 Activity 中你必须编写代码:-

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_user_list, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

@Override
public boolean onQueryTextSubmit(String query) {
//TODO write your code what you want to perform on search
return true;
}
@Override
public boolean onQueryTextChange(String query) {
//TODO write your code what you want to perform on search text change
return true;
}
});
return true;
}

您不需要手动添加 X 图标,它由 android 本身处理。单击搜索图标后,它将打开标题上带有十字图标的编辑文本,单击十字后,标题将自动缩小。

关于android - 将搜索框/文本字段添加到 android 的标题栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36903883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com