简体   繁体   English

删除searchView图标

[英]Remove searchView icon

In my app, I'm using a SearchView in the actionbar that it's always expanded like this: 在我的应用中,我在操作栏中使用SearchView,它始终像这样展开:

在此处输入图片说明

My main.xml is this: 我的main.xml是这样的:

<item
    android:id="@+id/menu_search"
    android:actionViewClass="android.widget.SearchView"
    android:showAsAction="always"
    android:title="Search" />

MainActivity.java: MainActivity.java:

public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);

    MenuItem searchViewItem = menu.findItem(R.id.menu_search);
    SearchView searchView = (SearchView) searchViewItem.getActionView();
    searchView.setIconifiedByDefault(false);

    return true;
}

I would like to remove the search icon and expand the editText. 我想删除搜索图标并展开editText。

Regards 问候

You should know that action items that can be collapsed have a max width. 您应该知道,可以折叠的操作项具有最大宽度。 I can think of the following: 我可以想到以下几点:

public class GreatAndroid extends FragmentActivity {
private SearchView mSearchView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    getActionBar().setDisplayShowHomeEnabled(false);
    getActionBar().setDisplayShowTitleEnabled(false);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);

    getMenuInflater().inflate(R.menu.menu_search, menu);
    MenuItem mi = menu.findItem(R.id.action_search);
    mSearchView = (SearchView) mi.getActionView();
    mSearchView.setIconifiedByDefault(false);

    /**
    You can use Display.getSize(Point) from API 13 onwards.
    For API 11 and 12, use Display.getWidth()
    **/

    final Point p = new Point();

    getWindowManager().getDefaultDisplay().getSize(p);

    // Create LayoutParams with width set to screen's width
    LayoutParams params = new LayoutParams(p.x, LayoutParams.MATCH_PARENT);

    mSearchView.setLayoutParams(params);

    return true;
}
}

You can also set a color, using : 您还可以使用设置颜色:

mSearchView.setBackgroundColor(Color.BLUE);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM