TestActivity2.java
package df.util.test; import android.app.Activity; import android.graphics.Color; import android.graphics.Typeface; import android.os.Bundle; import android.os.Handler; import android.view.Gravity; import android.view.KeyEvent; import android.view.View; import android.view.ViewGroup; import android.widget.*; import df.android.util.R; /** * Created with IntelliJ IDEA. * User: pdh * Date: 13-4-15 * Time: 下午4:03 * To change this template use File | Settings | File Templates. */ public class TestActivity2 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //To change body of overridden methods use File | Settings | File Templates. final Activity act = this; Button btn = new Button(act); btn.setText("测试"); btn.setTextSize(30.0f); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //To change body of implemented methods use File | Settings | File Templates. // payDianxin(); Toast.makeText(act,"hfeihfwoe",Toast.LENGTH_LONG).show(); } }); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT); params.addRule(RelativeLayout.CENTER_IN_PARENT); RelativeLayout lay = new RelativeLayout(this); lay.setBackgroundResource(R.drawable.enjoyit_dialog_bg); lay.addView(btn); setContentView(lay, params); (new Handler()).postDelayed(new Runnable() { @Override public void run() { //To change body of implemented methods use File | Settings | File Templates. checkFeePrompt(act); } }, 100); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: case KeyEvent.KEYCODE_VOLUME_DOWN: { break; } default: { break; } } return super.onKeyDown(keyCode, event); //To change body of overridden methods use File | Settings | File Templates. } //todo: wulong 计费SDK换了 public static void checkFeePrompt(final Activity act) { int v_id = 124; FrameLayout.LayoutParams scrParam = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT); scrParam.setMargins(0, 0, 0, 0); ScrollView scrollView = new ScrollView(act); scrollView.setId(++v_id); scrollView.setBackgroundColor(Color.BLUE);//Color.TRANSPARENT); scrollView.setVerticalScrollBarEnabled(true); scrollView.setScrollbarFadingEnabled(false); scrollView.setLayoutParams(scrParam); FrameLayout.LayoutParams relativeParames = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); RelativeLayout relativeLayout = new RelativeLayout(act); relativeLayout.setId(++v_id); relativeLayout.setBackgroundColor(Color.rgb(32, 32, 32)); relativeParames.setMargins(30,20,30,20); scrollView.addView(relativeLayout, relativeParames); RelativeLayout.LayoutParams vParames = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); vParames.addRule(RelativeLayout.ALIGN_TOP); vParames.setMargins(0, 0, 0, 30); final TextView contentText = new TextView(act); contentText.setId(++v_id); contentText.setGravity(Gravity.LEFT); contentText.setText("测试一下."); contentText.setTextColor(Color.BLACK); contentText.setTextSize(20.0f); contentText.setPadding(0, 0, 0, 0); contentText.setBackgroundColor(Color.TRANSPARENT); contentText.setTextColor(Color.WHITE); contentText.setGravity(Gravity.CENTER); relativeLayout.addView(contentText, vParames); int btnBgColor = Color.WHITE;//Color.rgb(213, 213, 213);//Color.rgb(157, 206, 255); int btnTextColor = Color.BLACK; float btnTextSize = 20.0f; String btnOkStr = "确定"; Typeface btnTextType = Typeface.DEFAULT; vParames = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); vParames.setMargins(5, 0, 0, 5); vParames.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); vParames.addRule(RelativeLayout.ALIGN_PARENT_LEFT); vParames.addRule(RelativeLayout.BELOW, contentText.getId()); final Button okBtn = new Button(act); okBtn.setId(++v_id); okBtn.setText(btnOkStr); okBtn.setTextSize(btnTextSize); okBtn.setTypeface(btnTextType); okBtn.setTextColor(btnTextColor); okBtn.setBackgroundColor(btnBgColor); okBtn.setPadding(5, 5, 5, 5); relativeLayout.addView(okBtn, vParames); vParames = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); vParames.setMargins(0, 0, 5, 5); vParames.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); vParames.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); vParames.addRule(RelativeLayout.BELOW, contentText.getId()); final Button cancelBtn = new Button(act); cancelBtn.setId(++v_id); cancelBtn.setText("取消"); cancelBtn.setTextSize(btnTextSize); cancelBtn.setTypeface(btnTextType); cancelBtn.setTextColor(btnTextColor); cancelBtn.setBackgroundColor(btnBgColor); cancelBtn.setPadding(5, 5, 5, 5); relativeLayout.addView(cancelBtn, vParames); scrollView.setFocusable(true); scrollView.setFocusableInTouchMode(true); final PopupWindow pw = new PopupWindow(scrollView,ViewGroup.LayoutParams.WRAP_CONTENT , ViewGroup.LayoutParams.WRAP_CONTENT, true);//创建PopupWindow实例 // pw.setBackgroundDrawable(new BitmapDrawable());//删掉这句,否则点击周围空白区域也会关闭对话框 pw.setOutsideTouchable(true); pw.setFocusable(true);//需要设置为ture,表示可以聚焦 pw.update(); scrollView.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View view, int i, KeyEvent keyEvent) { if (KeyEvent.KEYCODE_BACK == i) { return true; } return false; //To change body of implemented methods use File | Settings | File Templates. } }); okBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //To change body of implemented methods use File | Settings | File Templates. } }); cancelBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //To change body of implemented methods use File | Settings | File Templates. pw.dismiss(); } }); pw.showAtLocation(act.getWindow().getDecorView(), Gravity.CENTER, 0, 0); } }
效果图这样的: