我使用xml布局文件创建了一个弹出窗口。我用它来显示单击按钮时的说明。
这是我的弹出窗口代码,
popup_window.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/popup_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/pop_txtView1"
android:layout_marginTop="50dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:text="Theme"
android:textSize="20sp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/pop_txtView2"
android:layout_marginTop="24dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:text="Full"
android:textSize="20sp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/pop_txtView3"
android:layout_marginTop="24dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:text="@string/full_detail"
android:textSize="16sp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/pop_txtView4"
android:layout_marginTop="48dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:text="Lite"
android:textSize="20sp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/pop_txtView5"
android:layout_marginTop="24dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:text="@string/lite_detail"
android:textSize="16sp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="40dp"
android:layout_gravity="right">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/pop_txtView6"
android:textSize="20sp"
android:layout_weight="1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/pop_txtView7"
android:text="Cancel"
android:layout_marginLeft="40dp"
android:clickable="true"
android:textSize="20sp"
android:layout_weight="1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/pop_txtView8"
android:text="OK"
android:layout_marginLeft="10dp"
android:clickable="true"
android:textSize="20sp"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
这就是我打电话到弹出窗口的方式,
private PopupWindow popupWindow;
@InjectView(R.id.ib_question)
ImageButton qestionImageButton;
@OnClick(R.id.ib_question)
public void showPopup(){
try{
LayoutInflater inflater = (LayoutInflater) ProfileUserActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.popup_window,
(ViewGroup) findViewById(R.id.popup_layout));
popupWindow = new PopupWindow(layout, 300, 370, true);
popupWindow.showAtLocation(layout, Gravity.CENTER, 0, 0);
}catch (Exception ex){
ex.printStackTrace();
}
}
单击此图像按钮时,我无法将弹出窗口和活动分开。
下面的屏幕截图让您清楚了解我的问题。
对此有任何想法吗?
答案 0 :(得分:1)
你必须像这样设置
LayoutInflater inflater = (LayoutInflater) ProfileUserActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.popup_window,null);
popupWindow = new PopupWindow (layout ,ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true);
popupWindow.showAtLocation(layout, Gravity.CENTER, 0, 0);