繁体   English   中英

ActionBar中的SearchView和Activity Title

[英]SearchView and Activity Title in ActionBar

非常简单的问题,不需要太多代码:

我正在使用Android的默认ActionBar(没有Sherlock),其中我有几个MenuItems。 其中一个是针对典型搜索场景的可折叠动作视图( android:showAsAction="collapseActionView|always" ):用户点击图标→搜索框展开→当用户键入任何内容时,onQueryTextChange会发挥其魔力)。

SearchView sv = new SearchView(this);
sv.setLayoutParams(new ActionBar.LayoutParams(Gravity.RIGHT));
// Yada, yada...
sv.setOnQueryTextListener(new OnQueryTextListener() {
    // The methods for onQueryTextSubmit and onQueryTextChange ... they apply filtering on the activity's list adapter and apparently work fine
}
menuItem.setActionView(sv); // menuItem is the item for the search action
searchAnswers.setOnActionExpandListener(new OnActionExpandListener() {
    // The listener's methods for expand/collapse as I need some business logic behind them
}

所有上述工作都很好。

当设备处于纵向模式且屏幕空间有限时,SearchView几乎占据了整个操作栏,隐藏了其他MenuItems(其中包含android:showAsAction="ifRoom" )以及Activity的标题,这对我来说还可以。 。

问题是,如果设备处于横向模式(因此仍然有免费的ActionBar空间),SearchView不会占用整个ActionBar(再次,我很好),但Activity的标题消失了 (即使有足够的空间在哪里它可以显示!)。 所以我的问题是我得到了这个空白的空间,可以显示Activity的标题。

在扩展之前: 有活动标题。

扩展后: 我可以租用这么多的免费空间。

(这两个截图都来自横向模式的手机。使用Android 4.0.4和4.3进行测试。)

有足够空间时如何保持活动标题的任何提示?

不确定你是否找到了这个问题的答案。 但是我在这个帖子上找到了一个可能有帮助的答案 - 这对我有帮助。

ActionBar SearchView未在横向模式下完全展开

从链接复制的代码:

searchView.setOnSearchClickListener(new OnClickListener() {
    private boolean extended = false;

    @Override
    public void onClick(View v) {
        if (!extended) {
        extended = true;
            LayoutParams lp = v.getLayoutParams();
            lp.width = LayoutParams.MATCH_PARENT;
        }
    }
});
searchView.setMaxWidth(Integer.MAX_VALUE);

暂无
暂无

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

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