【发布时间】:2014-04-02 21:57:07
【问题描述】:
我想显示一个始终在我的ActionBar 中展开的AutoCompleteTextView。这是我的菜单 xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/visibility_menu_search"
android:icon="@drawable/ic_action_search"
android:showAsAction="always"
android:actionLayout="@layout/visibility_search" />
</menu>
这是我的layout/visibility_search.xml
<AutoCompleteTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/visibility_search_auto_complete_text_view" />
这是我的活动:
public class VisibilityActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(layout.visibility_activity);
getActionBar().setDisplayShowTitleEnabled(false);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.visibility, menu);
return super.onCreateOptionsMenu(menu);
}
}
我使用showAsAction="always" 是因为我希望AutoCompleteTextView 始终可见(它将是ActionBar 中唯一的东西)。
我的AutoCompleteTextView 在ActionBar 中始终是右对齐的,并且只有 100 像素的宽度。这是为什么呢?
更新
感谢Atul O Holic's answer,我找到了适合我的案例的首选解决方案,它根本不需要任何特殊逻辑。我将 my answer 保留为正确,因为它适用于一般情况,但对于我的具体情况,SearchView 更好更容易。
【问题讨论】:
-
必须是
AutoCompleteTextView吗?你见过this吗?SearchView将在用户点击它时展开和折叠,并且它具有提供建议列表的功能。 -
我希望它一直被扩展。
ActionBar中将没有其他内容,因此让用户点击图标以展开SearchView只是不必要的工作。
标签: android android-actionbar searchview