gpt4 book ai didi

android - SearchView 对齐错误

转载 作者:搜寻专家 更新时间:2023-11-01 08:56:58 24 4
gpt4 key购买 nike

我在扩展 SearchView 时遇到对齐问题。出于某种原因,折叠时它向右对齐,但展开时它向左对齐。我按照 ActionBarSherlock 示例做了所有事情。

下面是问题的两个截图:

Screenshot collapsed http://img59.imageshack.us/img59/8976/.png

Screenshot expanded http://img577.imageshack.us/img577/9890/.png

我还没有决定是否要使用 ActionBar 选项卡。我不希望 searchView 在展开时隐藏它们。但这是另一个问题。我这里的主要问题是扩展时 SearchView 的对齐方式。无论如何,我都希望它保持正确对齐。

这是我的 onCreateOptionsMenu:

@Override
public boolean onCreateOptionsMenu(Menu menu) {

getSupportMenuInflater().inflate(R.menu.menu_main, menu);
searchMenuItem = menu.findItem(R.id.action_search);
refreshMenuItem = menu.findItem(R.id.action_refresh);

refreshMenuItem.setActionView(R.layout.refresh_progressbar);

searchMenuItem.setOnActionExpandListener(new OnActionExpandListener() {

@Override
public boolean onMenuItemActionExpand(MenuItem item) {
return true;
}

@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
flightsListAdapter.getFilter().filter("");
return true;
}
});

searchView = (SearchView)searchMenuItem.getActionView();
searchView.setQueryHint(getResources().getString(R.string.search_hint));
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
searchView.clearFocus();
return true;
}

@Override
public boolean onQueryTextChange(String query) {
flightsListAdapter.getFilter().filter(query);
return true;
}
});
searchView.clearFocus();

return true;
}

这是我的 menu_main.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
android:id="@+id/action_search"
android:title="@string/search"
android:icon="@drawable/ic_search"
android:showAsAction="always|collapseActionView"
android:actionViewClass="com.actionbarsherlock.widget.SearchView" />

<item
android:title="@string/date"
android:icon="@drawable/ic_compose"
android:showAsAction="always" >
<menu>
<item
android:id="@+id/menuYesterday"
android:title="Yesterday"/>
<item
android:id="@+id/menuToday"
android:title="Today"/>
<item
android:id="@+id/menuTomorrow"
android:title="Tomorrow"/>
</menu>
</item>

<item
android:id="@+id/action_refresh"
android:icon="@drawable/ic_refresh"
android:showAsAction="always"
android:title="@string/action_refresh" />
</menu>

感谢您的阅读:)

最佳答案

好的。只是为了常识,我正在回答我自己的问题。

诀窍是删除 SerchView 上的“collapseActionView”。一旦我删除它,SearchView 在扩展时会留在原地(在右边)。

关于android - SearchView 对齐错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18255315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com