我正在使用网格视图,我需要在某处放置一个按钮,因此当用户点击它时会进行一些计算。
我认为使用Action Bar的“花哨”和相对不错(设计明智)的实现。
如何在适配器中实现Action Bar(Grid View需要适配器)?
我也尝试了上下文菜单但遇到与Action Bar相同的问题,因为他们需要从Activity
继承 public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
menu.add(0, test1, 0, "TEST");
menu.add(0, test2, 0, "Test2");
}
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case test1:
case test2:
default:
return false;
}
}
答案 0 :(得分:0)
如果您处于API级别11或更高级别,则只需在布局xml中使用Theme.Holo
作为样式。例如:
<activity android:theme="@style/Theme.Holo.Light" ... >
然后,您可以使用menu.xml
添加一些按钮。例如:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/action_search
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"/>
<item android:id="@+id/action_compose"
android:icon="@drawable/ic_action_compose"
android:title="@string/action_compose" />
</menu>
在您的活动中,您必须覆盖onOptionsItemSelected:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.action_search:
openSearch();
return true;
case R.id.action_compose:
composeMessage();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
有关详细信息,请查看official docs