android自定义浮动窗口

时间:2014-05-13 18:57:05

标签: android window floating

  

我必须自定义(我可以设置我的layout.xml)浮动窗口在哪里   我可以控制Xco和Yco。

使用Toast(在计时器中)我可以实现这一点,但我必须避免不必要的计时器。

我遇到一些图书馆说, SuperToolTip (我们无法控制X和Y;相反,我们反对一些可绘制的) StandOut (这里我们可以控制Xco和Yco但它只使用服务来做一件简单的事情)

请帮帮我。

EDITED

final Dialog dialog = new Dialog(MainActivity.this, android.R.style.Theme_Translucent_NoTitleBar);

Window window = dialog.getWindow();
WindowManager.LayoutParams wlp = window.getAttributes();
wlp.x = 0;      
wlp.y = 200;
wlp.width = 800;
wlp.height= 400;
window.setAttributes(wlp);

dialog.setTitle(null);
View view = getLayoutInflater().inflate(R.layout.layout_audio_recording_hint, null);

dialog.setContentView(view);
dialog.setCancelable(false);

ImageButton imgBtnCloseDialog = (ImageButton)view.findViewById(R.id.imgBtnCloseDialog);
imgBtnCloseDialog.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        dialog.cancel();
    }


});


ImageButton imgBtnAudio = (ImageButton) findViewById(R.id.imgBtnAudio);
imgBtnAudio.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        dialog.show();
    }
});

1 个答案:

答案 0 :(得分:1)

使用此代码android.widget.PopupWindow可用于显示任意视图。弹出窗口是一个浮动容器,显示在当前活动的顶部。

      <?xml version="1.0" encoding="utf-8"?>
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="vertical" 
      android:background="@android:color/background_light">
      <LinearLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:layout_margin="1dp"
        android:background="@android:color/darker_gray">
        >
      <LinearLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:layout_margin="20dp">
      <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="It's a PopupWindow" />
      <ImageView
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:src="@drawable/ic_launcher" />
      <Button
          android:id="@+id/dismiss"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="Dismiss" />
     </LinearLayout>
     </LinearLayout>
     </LinearLayout>