我有一个我自己创建的工具栏,一个自定义工具栏,并且想要在上面放置一个searchview,所以每当我点击它取代我的工具栏的图标时。
我的自定义工具栏:
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/emerald">
<ImageView
android:id="@+id/arrow_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_weight="0"
android:src="@drawable/ic_002_keyboard_left_arrow_button"
android:onClick="previousActivity"
android:tint="@color/white"/>
<com.example.afcosta.inesctec.pt.android.Helpers.NexusBoldTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:layout_gravity="left"
android:layout_marginLeft="25dp"
android:id="@+id/toolbar_title"
android:textSize="@dimen/toolbar_title" />
<ImageView
android:id="@+id/user_ic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="0"
android:src="@drawable/ic_user"
android:onClick="userProfile"
android:layout_marginRight="25dp"
android:tint="@color/white"/>
<ImageView
android:id="@+id/user_ic2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="0"
android:src="@drawable/ic_search_black_24dp"
android:tintMode="@color/white"
android:onClick="userProfile"
android:layout_marginRight="25dp"
android:tint="@color/white"/>
</android.support.v7.widget.Toolbar>
我将其包含在其他活动中:
<include
layout="@layout/custom_toolbar"
android:id="@+id/my_toolbar"
tools:layout_constraintTop_creator="1"
tools:layout_constraintLeft_creator="1"
app:layout_constraintTop_toTopOf="parent"
tools:layout_editor_absoluteX="0dp" />
现在我想在这个自定义工具栏上使用searchview,但我甚至无法添加它,任何帮助?
答案 0 :(得分:0)
使用项目
创建菜单<item
android:id="@+id/action_search"
android:icon="@android:drawable/ic_menu_search"
app:showAsAction="always"
app:actionViewClass="android.support.v7.widget.SearchView"
android:title="Search"/>
在您的活动中
@Override
public boolean onCreateOptionsMenu( Menu menu) {
getMenuInflater().inflate( R.menu.menu_main, menu);
MenuItem search = menu.findItem( R.id.action_search);
final SearchView searchView = (SearchView) search.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
//Do your action
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});
return true;
}