Android支持v7 ActionBar SearchView未完全扩展

时间:2015-03-04 02:04:25

标签: android searchview android-actionbaractivity

我想在我的应用程序中显示针对特定活动的完全扩展的SearchView,但是,SearchView仅跨越ActionBar的一半用于这些活动。

我目前正在使用v7支持库。

这里是menu_home.xml中我的SearchView的代码:

<menu...
<item
        android:id="@+id/action_search"
        android:title="search"
        app:showAsAction="always"
        app:actionViewClass="android.support.v7.widget.SearchView" /
</menu>

这是我的活动代码:

@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_home, menu);
    MenuItem item = menu.findItem(R.id.action_search);
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(item);
    if (showSearch) {
        getSupportActionBar().setDisplayShowTitleEnabled(false);
        searchView.setIconifiedByDefault(false);
    } else {
        item.setVisible(false);
        getSupportActionBar().setDisplayShowTitleEnabled(true);
    }
    return true;
}

以下是SearchView的样子: enter image description here

我已尝试将SearchView LayoutParams.width设置为LayoutParams.MATCH_PARENT,但SearchView.getLayoutParams()保持返回null。我尝试了ViewGroup.LayoutParams,LinearLayout.LayoutParams,ActionBar.LayoutParams和v7.ActionBar.LayoutParams。

如果有任何帮助,此活动仅限于纵向模式。

1 个答案:

答案 0 :(得分:4)

<html> <head> <script src= 'https://cdn.zingchart.com/2.1.1/zingchart.min.js'></script> <script> zingchart.MODULESDIR = 'https://cdn.zingchart.com/2.1.1/modules/'; ZC.LICENSE = ['569d52cefae586f634c54f86dc99e6a9','ee6b7db5b51705a13dc2339db3edaf6d'];</script> </head> <body> <div id='myChart'></div> </body> </html>的{​​{1}}有一个名为MenuItemCompat的属性。

SearchView

当然使用屏幕宽度而不是maxWidth