我一直在尝试实现一个上下文操作栏以及一个对话框片段.
类似于android中的下载小部件.
我试图在主题中将android:windowActionModeOverlay设置为true.
但它似乎没有用.有什么办法可以实现吗?
最佳答案
屏幕截图中的下载窗口实际上是一个使用@android:style / Theme.Holo.Dialog主题的Activity,使其看起来像一个对话框.要获得与下载窗口相同的外观,您的Activity只需使用相同的主题.
原文链接:https://www.f2er.com/android/430833.html您可以在清单中设置此主题,如下所示:
排除字符串和可绘制资源的示例实现.
表现:
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:
结果: