臨睡覺前寫個小demo學習下。
popupwindow也屬於android對話框的一種,它的位置什麼的是可以改變的。
首先新建工程。。。自定義一個佈局(供對話框使用)
上代碼:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn=(Button) findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
popView(v);// 顯示彈出窗口
}
});
}
private void popView(View v) {
//初始化彈窗裏面的佈局視圖
View view = View.inflate(this, R.layout.poupup, null);
//實例化一個彈窗對象
PopupWindow popup = new PopupWindow(view, LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, true);
//設置彈窗背景圖片
popup.setBackgroundDrawable(getResources().getDrawable(
R.drawable.ic_launcher));
//顯示彈窗,位置在這個按鈕的下方x,y各偏移100地方
popup.showAsDropDown(v, 100, 100);
}
}
好了,運行成功。
告訴大家中途遇到的問題,popupwindow是依賴於父窗口顯示的,要是直接在oncreate方法裏面調用showAsDropDown就會出錯哦。