package com.example.popupwindowdemo01;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener {
private Button main_button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 註釋原本的佈局
// setContentView(R.layout.activity_main);
// 實例化佈局
LinearLayout llayout = new LinearLayout(this);
// 設置佈局方向
llayout.setOrientation(LinearLayout.VERTICAL);
// 添加到activity中
this.setContentView(llayout);
// 實例化按鈕
main_button = new Button(this);
// 設置按鈕的文字
main_button.setText("show popu");
// 把按鈕添加到佈局中
llayout.addView(main_button);
// 爲按鈕添加點擊事件
main_button.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
// 實例化一個textview
TextView v = new TextView(this);
// 注意:一定要讓這個view有高寬,也可以設置文字讓view被動設置高寬
// 也可手動寫v.setHeight(50);v.setWidth(50);
v.setText("i am is a button");
v.setBackgroundColor(Color.GREEN);
// 實例化PopupWindow
// 這裏面的第一個參數是一個View,只要是view並且有高寬即可
// 二,三個參數是PopupWindow的高寬,不是第一個參數View的高寬
PopupWindow pp = new PopupWindow(v,
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
// 出現在按鈕的下面,可設其他位置
pp.showAsDropDown(main_button);
}
}
運行截圖: