[英]Android popup menu is not anchored to button on Action bar
我在Android上创建弹出菜单时遇到问题。 通常,我想动态加载弹出窗口,但是当我执行该应用程序时,菜单不在屏幕上,并且没有固定在按钮上……为什么?
这是一个可以理解的屏幕:
这是我用来创建弹出菜单的摘要代码:
public class MainActivity extends FragmentActivity
{
PopupMenu select_job;
@Override
protected void onCreate(Bundle savedInstanceState)
{
//...
View view = inflater.inflate(R.layout.my_custom_layout ,null);
select_job = new PopupMenu(this, view);
select_job.getMenu().add("ProvaLavoro");
}
public boolean onOptionsItemSelected(MenuItem item)
{
switch(item.getItemId())
{
case R.id.popupmenu:
select_job.show();
break;
}
}
}
这是my_custom_layout.xml,用于使发白膨胀:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/txtNameJobND"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="0dp"
android:textColor="#111"
android:textStyle="bold"/>
</RelativeLayout>
我究竟做错了什么?
谢谢!!
select_job = new PopupMenu(this, view);
在这里,视图是弹出菜单的“锚点”。 您应该传递MenuItem(R.id.popupmenu)作为锚点。
我还没有自己做(将PopupMenu固定在Actionbar项上),但是我认为这应该是它的背后的想法。
从Android文档:
公共PopupMenu(上下文上下文,视图锚点)
在API级别11中添加
构造一个新的PopupMenu。
参数
context:PopupMenu的上下文。
锚:此弹出窗口的锚视图。 如果有空间,则弹出窗口将显示在锚点的下方;如果没有空间,则弹出窗口将显示在其上方。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.