2013年8月10日土曜日

XMLカスタムダイアログ風ポップアップビュー

カスタムダイアログ風のサンプル

正確にはオーバーレイを使用したダイアログ風のポップアップ。

ダイアログを使用するよりも、ビューを使用したほうが柔軟性が高い。

  <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

private View view = null;
private WindowManager mWindowManager = null;

private Button btn;
private CheckBox chk;

private boolean LFL = false;

public void showView(Context cn,WindowManager wm) {

mWindowManager=wm;

if (LFL == false) {

LFL = true;
//インフレータ
LayoutInflater inflater = LayoutInflater
.from(cn);

// レイアウトXMLインフレート
view = inflater.inflate(R.layout.main_list, null);

btn = (Button) view.findViewById(R.id.list_toji);
chk = (CheckBox) view.findViewById(R.id.list_soku);

view.findViewById(R.id.list_toji).setOnClickListener(this);
view.findViewById(R.id.list_soku).setOnClickListener(this);


LayoutParams params = new LayoutParams();

// 全画面
params.width = LayoutParams.MATCH_PARENT;
params.height = LayoutParams.MATCH_PARENT;
params.type = LayoutParams.TYPE_PHONE;

if (mWindowManager == null) {
mWindowManager = (WindowManager) cn
.getSystemService(Context.WINDOW_SERVICE);
}
mWindowManager.addView(view, params);

} else {
mWindowManager.removeView(view);
}
}
public void toji(){
if(LFL){
LFL = false;
mWindowManager.removeView(view);
}
}

0 件のコメント:

コメントを投稿