如何更改Android溢出按钮上弹出菜单的位置?

用户名

我只想实现与Gmail应用程序中弹出菜单相同的功能,并固定在右上角的溢出按钮上。为此,我使用了与Google教程相同的代码来编写android Android弹出菜单,但是对我来说,在操作栏边缘顶部显示弹出菜单,而不是在其下方。如果您在gmail溢出的弹出菜单上注意到,您会看到popmenu发生在操作栏的边缘。

这是我用于弹出菜单的xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/item1"
        android:title="lablab"/>
    <item
        android:id="@+id/item2"
        android:title="lablab"/>

</menu>

以下是我的活动:

public void showFontSetting(View view) {
    PopupMenu popup = new PopupMenu(this, view);
    MenuInflater inflater = popup.getMenuInflater();
    inflater.inflate(R.menu.menu, popup.getMenu());
    popup.show();

    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {

        @Override
        public boolean onMenuItemClick(MenuItem item) {
        // TODO Auto-generated method stub

            switch (item.getItemId()) {
                case R.id.item1:
                    Toast.makeText(Index.this,
                        "You Clicked : " + item.getTitle(),
                    Toast.LENGTH_SHORT).show();
                    break;
                case R.id.item2:
                    break;
            }
            return true;
        }
    });
}
太阳

将以下代码段添加到您的活动中:

PopupWindow popupwindow_obj; // create object

popupwindow_obj=popupDisplay();  // initialize in onCreate()

popupwindow_obj.showAsDropDown(clickbtn,-40, 18); // where u want show on view click event

public PopupWindow popupDisplay() { // disply designing your popoup window
    final PopupWindow popupWindow = new PopupWindow(this); // inflet your layout or diynamic add view

    View view; 

    LayoutInflater inflater = (LayoutInflater)   getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    view = inflater.inflate(R.layout.mylayout, null);

    Button item = (LinearLayout) view.findViewById(R.id.button1);

    popupWindow.setFocusable(true);
    popupWindow.setWidth(WindowManager.LayoutParams.WRAP_CONTENT);
    popupWindow.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);
    popupWindow.setContentView(view);

    return popupWindow;
}

res/layout目录中创建XML并将其命名mylayout.xml

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Window test" />
</LinearLayout>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何更改背景颜色弹出菜单android

来自分类Dev

溢出按钮上方的锚点弹出菜单

来自分类Dev

关闭后退按钮上弹出

来自分类Dev

如何以编程方式更改菜单溢出按钮?

来自分类Dev

在标记Android上弹出或布局

来自分类Dev

如何更改Android中弹出菜单的文本颜色和大小?

来自分类Dev

如何更改Android的背景色弹出菜单

来自分类Dev

Yii Booster在文本而不是按钮上弹出

来自分类Dev

溢出菜单弹出

来自分类Dev

溢出菜单弹出

来自分类Dev

溢出菜单弹出

来自分类Dev

如何使溢出弹出菜单避免阻塞操作栏?

来自分类Dev

Android更改弹出菜单文本颜色

来自分类Dev

如何在android eclipse中将按钮更改为菜单

来自分类Dev

如何在android eclipse中将按钮更改为菜单

来自分类Dev

如何更改弹出菜单的打开动画

来自分类Dev

如何更改弹出菜单的打开动画

来自分类Dev

如何更改保存文件时弹出的菜单

来自分类Dev

如何在新工具栏中更改标题文本和按钮颜色而不更改操作溢出菜单文本颜色?

来自分类Dev

如何在其他Android应用程序上弹出气泡?

来自分类Dev

如何在其他Android应用程序上弹出气泡?

来自分类Dev

用户单击菜单按钮时如何弹出菜单?

来自分类Dev

如何更改操作栏溢出按钮的颜色

来自分类Dev

如何设置Android ActionBar溢出菜单的样式

来自分类Dev

如何设置Android ActionBar溢出菜单的样式

来自分类Dev

如何更改弹出文本的位置?

来自分类Dev

Cinnamon:如何更改弹出通知的位置?

来自分类Dev

Android Studio中的“溢出菜单按钮”在哪里?

来自分类Dev

如何更改按钮控制位置?