如何把叠加视图在行动酒吧Sherlock

我想设置一些视图,将显示教程文本的动作栏(如点击这里,发送电子邮件…)。 这可能吗? 我问,因为我知道操作栏使用布局的顶部空间,一个片段或活动使用剩余的空间。
我的第二个问题是如何显示操作栏上的所有操作项目。 我使用ActionBarSherlock库,我看到我有一个更多的行动项目的空间,但它不显示在操作栏上。 我在xml中设置ifRoom选项…

谢谢!!!

Solutions Collecting From Web of "如何把叠加视图在行动酒吧Sherlock"

有多种方法可以实现类似教程的叠加。 也许最简单的就是使用特殊准备的透明背景的对话窗口,而且没有暗淡的后面。

使用自定义Dialog进行教程叠加

首先,我们必须为Dialog准备内容。 在这个例子中,在RelativeLayout里面会有一个TextView ,这是最有用的布局。

info_overlay.xml文件的内容:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:background="@android:color/darker_gray" android:padding="3dp" android:text="TextView" android:textColor="@android:color/white" /> </RelativeLayout> 

现在,我们可以使用这个布局来创build我们的Dialog

 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Dialog overlayInfo = new Dialog(MainActivity.this); // Making sure there's no title. overlayInfo.requestWindowFeature(Window.FEATURE_NO_TITLE); // Making dialog content transparent. overlayInfo.getWindow().setBackgroundDrawable( new ColorDrawable(Color.TRANSPARENT)); // Removing window dim normally visible when dialog are shown. overlayInfo.getWindow().clearFlags( WindowManager.LayoutParams.FLAG_DIM_BEHIND); // Setting position of content, relative to window. WindowManager.LayoutParams params = overlayInfo.getWindow().getAttributes(); params.gravity = Gravity.TOP | Gravity.LEFT; params.x = 100; params.y = 20; // If user taps anywhere on the screen, dialog will be cancelled. overlayInfo.setCancelable(true); // Setting the content using prepared XML layout file. overlayInfo.setContentView(R.layout.info_overlay); overlayInfo.show(); } 

结果

以下是上述解决scheme的截图。 注意ActionBarTextView

在这里输入图像说明

关于解决scheme的一些笔记

  • 如果你有一个专门的button来解散教程,你可以使用setCancelable(false)来避免意外closures教程。
  • 此解决scheme可以与任何操作栏解决scheme(OS提供的, Android支持库ActionBar Sherlock

其他解决scheme/帮手

看看Showcase View库,因为它着重于以简单的方式创build类似教程的屏幕。 但我不确定它是否可以轻松覆盖操作栏。