在屏幕底部创建选项菜单,没有操作栏
Create options menu on bottom of screen, no action bar
我见过类似的问题,但大多数解决方案都围绕拆分操作栏展开。我认为这在我的应用程序中是不可能的,因为我的主题是 Theme.Material.Light.NoActionBar
。
Here is an example of what I would like to do. The overflow menu is located on the bottom-right, and when clicked, a ListView
opens similar to the normal options menu, example seen here。
我不确定我是否可以使用像 onCreateOptionsMenu
和 onOptionsItemSelected
这样的原生函数。我怎样才能避免没有操作栏?嵌套片段会起作用吗?
我的应用程序的布局是 ViewPager
中的片段。我的溢出菜单按钮的代码很简单,但我不知道如何在 onClick
方法中打开 ListView
:
mSettingsButton = (Button) findViewById(R.id.settingsButton);
mSettingsButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
}
});
如果有任何建议或示例,我将不胜感激。谢谢!
您可以使用 Toolbar class 并根据需要在屏幕上设置样式/位置。
例如
<android.support.v7.widget.Toolbar
android:id=”@+id/my_awesome_toolbar”
android:layout_height=”wrap_content”
android:layout_width=”match_parent”
android:minHeight=”?attr/actionBarSize”
android:background=”?attr/colorPrimary” />
之后,使用
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);
将其设置为您的主要操作栏。 onCreateOptionsMenu
和其他与操作栏相关的功能将按预期工作。确保您也禁用主题中的默认操作栏。
您可以通过按钮
为ListView使用ListPopupWindow
例如:
ListPopupWindow popup = new ListPopupWindow(SomeActivity.this);
popup.setAdapter(new ArrayAdapter(SomeActivity.this,R.layout.list_item, someSettings));
popup.setAnchorView(settingsButton);
popup.setWidth(300);
popup.setHeight(400);
popup.setModal(true);
popup.setOnItemClickListener(SomeActivity.this);
settingsButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
popup.show();
}
});
我见过类似的问题,但大多数解决方案都围绕拆分操作栏展开。我认为这在我的应用程序中是不可能的,因为我的主题是 Theme.Material.Light.NoActionBar
。
Here is an example of what I would like to do. The overflow menu is located on the bottom-right, and when clicked, a ListView
opens similar to the normal options menu, example seen here。
我不确定我是否可以使用像 onCreateOptionsMenu
和 onOptionsItemSelected
这样的原生函数。我怎样才能避免没有操作栏?嵌套片段会起作用吗?
我的应用程序的布局是 ViewPager
中的片段。我的溢出菜单按钮的代码很简单,但我不知道如何在 onClick
方法中打开 ListView
:
mSettingsButton = (Button) findViewById(R.id.settingsButton);
mSettingsButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
}
});
如果有任何建议或示例,我将不胜感激。谢谢!
您可以使用 Toolbar class 并根据需要在屏幕上设置样式/位置。
例如
<android.support.v7.widget.Toolbar
android:id=”@+id/my_awesome_toolbar”
android:layout_height=”wrap_content”
android:layout_width=”match_parent”
android:minHeight=”?attr/actionBarSize”
android:background=”?attr/colorPrimary” />
之后,使用
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);
将其设置为您的主要操作栏。 onCreateOptionsMenu
和其他与操作栏相关的功能将按预期工作。确保您也禁用主题中的默认操作栏。
您可以通过按钮
为ListView使用ListPopupWindow例如:
ListPopupWindow popup = new ListPopupWindow(SomeActivity.this);
popup.setAdapter(new ArrayAdapter(SomeActivity.this,R.layout.list_item, someSettings));
popup.setAnchorView(settingsButton);
popup.setWidth(300);
popup.setHeight(400);
popup.setModal(true);
popup.setOnItemClickListener(SomeActivity.this);
settingsButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
popup.show();
}
});