- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
您好,出于某种原因,我似乎无法让我的搜索小部件出现在我的选项卡 fragment 上方,尽管我危险地浏览了堆栈溢出和其他互联网论坛,我觉得好像错误在于我的 XML 虽然我看不到其中:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.lab1.ac01220.bloomv2.MainActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/appbar_padding_top"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_weight="1"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:title="@string/app_name">
</android.support.v7.widget.Toolbar>
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.TabItem
android:id="@+id/tabItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tab_text_1" />
<android.support.design.widget.TabItem
android:id="@+id/tabItem2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tab_text_2" />
<android.support.design.widget.TabItem
android:id="@+id/tabItem3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tab_text_3" />
</android.support.design.widget.TabLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
menu_main.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="com.lab1.ac01220.bloomv2.MainActivity">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="never" />
<item android:id="@+id/action_search"
android:title="@string/searchHint"
android:icon="@drawable/ic_search"
app:showAsAction="always"
app:actionViewClass="android.support.v7.widget.SearchView" />
</menu>
我已经在我的主要 Activity 中夸大了预期的 Action ,但它似乎仍然没有出现。我试过修改 styles.xml
但是它一直抛出构建错误。
我知道在 styles.xml
中它说 AppTheme.NoActionBar
但是我已经尝试删除它并更改它包含的 boolean 值。删除它会引发构建错误并更改值会创建两个位于彼此之上的操作栏(一个带有搜索小部件,另一个带有选项卡)。
在我附上的图片中,我只想让搜索图标像往常一样显示在右侧并向左向外扩展,有人可以帮我吗?
如果我做错了,我会包括我的充气机:
MainActivity.java 中的膨胀器
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main,menu);
final MenuItem searchItem = menu.findItem(R.id.action_search);
final SearchView searchDatabase = (SearchView) searchItem.getActionView();
searchDatabase.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return searchTerm(query);
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});
return super.onCreateOptionsMenu(menu);
}
最佳答案
根据 onCreateOptionsMenu()
的文档:
You must return true for the menu to be displayed; if you return false it will not be shown.
默认super
执行将返回 false
, 所以你必须明确 return true;
在那里显示您的菜单。
此外,如果您提供自己的 Toolbar
代替提供的装饰ActionBar
,您需要将其设置为支持 ActionBar
以这种方式显示选项菜单。即:
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
关于java - 将搜索栏实现到 tabFragment View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49098314/
您好,出于某种原因,我似乎无法让我的搜索小部件出现在我的选项卡 fragment 上方,尽管我危险地浏览了堆栈溢出和其他互联网论坛,我觉得好像错误在于我的 XML 虽然我看不到其中: activity
我正在尝试制作一个在属于 TabHost 的 fragment 中具有 ViewPager 的应用。一切正常。我有我的标签栏,我可以切换标签。当我使用 ViewPager 切换到选项卡时,一切都正确显
以下抽象方法是什么意思以及如何实例化此类类型的对象? abstract Class getTabFragmentClass(); 最佳答案 这是一个抽象方法,其实现应返回 Class表示 TabFra
这种问题以前有人问过,但还是搞不明白所以再问一次 当我尝试向我的 Activity 添加一个新的选项卡 fragment 作为所有其他 fragment 的宿主时,我挂了几秒钟(好吧,不只是几秒钟,大
我正在关注 https://androidbelieve.com/navigation-drawer-with-swipe-tabs-using-design-support-library/ 的教程
我是一名优秀的程序员,十分优秀!