android – 带DialogFragment的Contextual Actionbar

前端之家收集整理的这篇文章主要介绍了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:

main_menu.xml:

结果:

@H_502_59@

猜你在找的Android相关文章