Ich habe hier im stackoverflow mehrere Lösungen ausprobiert, aber keine funktionierte für mich.SearchView immer erweitert, in der Symbolleiste?
Ich habe das Symbol in der Symbolleiste und es erweitert, wenn geklickt wird und öffnet die Aktivität, die die Suche durchgeführt werden soll. Codes unter:
XML Menu:
<?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/item_search"
android:orderInCategory="200"
android:title="@string/search"
android:icon="@drawable/ic_search_24dp"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="ifRoom|collapseActionView"
android:iconifiedByDefault="false" />
</menu>
Aktivität Code:
class HomeActivity : LoggedActivity<ViewHomeBinding, HomeViewModel>(), HomeView {
// ATTRIBUTES
private var pagerAdapter: HomePagerAdapter? = null
// BASE METHODS
override fun onInject(component: LoggedActivityComponent) = component.inject(this)
override val contentView = R.layout.view_home
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.menu_home, menu)
return super.onCreateOptionsMenu(menu)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean = when (item.itemId) {
R.id.item_search -> {
startActivity(Intent(this, SearchActivity::class.java))
true
}
else -> super.onOptionsItemSelected(item)
}
Ich wünschte, es würde immer erweitert werden. Und von der weißen Farbe, da es grün erweitert, ist es möglich? Vielen Dank
Ich habe dies in XML versucht; Android: iconifiedByDefault = "false" App: iconifiedByDefault = "false"
EDIT:
Toobar XML in HomeActivity
<data>
<variable
name="viewModel"
type="com.plugapps.zuk.viewmodel.HomeViewModel"/>
</data>
<android.support.design.widget.CoordinatorLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</android.support.v7.widget.Toolbar>
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="fixed"
app:tabGravity="fill"/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</android.support.design.widget.CoordinatorLayout>
Sie setzen es über ein Menü. Daher erhalten Sie ein Symbol. Was Sie dazu verwenden müssen, schließen Sie 'Toolbar' in layout.xml ein und fügen Sie eine 'SearchView'inside' Toolbar' hinzu. –
Wie kann ich das tun? –
haben Sie versucht, dies [Lösung] (https://stackoverflow.com/a/24123262/6559031) –