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:

结果:

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...