微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 带DialogFragment的Contextual Actionbar

我一直在尝试实现一个上下文操作栏以及一个对话框片段.
类似于android中的下载小部件.

 

我试图在主题中将android:windowActionModeOverlay设置为true.

但它似乎没有用.有什么办法可以实现吗?

最佳答案
屏幕截图中的下载窗口实际上是一个使用@android:style / Theme.Holo.Dialog主题的Activity,使其看起来像一个对话框.要获得与下载窗口相同的外观,您的Activity只需使用相同的主题.

您可以在清单中设置此主题,如下所示:

排除字符串和可绘制资源的示例实现.

表现:

MainActivity.java:

package com.mceley.dialog.example;

import android.app.Activity;
import android.os.Bundle;
import android.view.ActionMode;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;

public class MainActivity extends Activity implements OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_layout);

        findViewById(R.id.context_button).setonClickListener(this);
    }

    @Override
    public void onClick(View v) {
        ExampleMode mode = new ExampleMode();
        startActionMode(mode);
    }

    public class ExampleMode implements ActionMode.Callback {

        @Override
        public boolean onActionItemClicked(ActionMode mode,MenuItem item) {
            return false;
        }

        @Override
        public boolean onCreateActionMode(ActionMode mode,Menu menu) {
            mode.getMenuInflater().inflate(R.menu.main_menu,menu);
            return true;
        }

        @Override
        public void onDestroyActionMode(ActionMode mode) {

        }

        @Override
        public boolean onPrepareActionMode(ActionMode mode,Menu menu) {
            return false;
        }
    }
}

main_layout.xml:

ravity="center" >

    

main_menu.xml:

结果:

原文地址:https://www.jb51.cc/android/430833.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐