본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[Android/안드로이드] Custom Dialog & Popup Window.

by 돼지왕 왕돼지 2012. 2. 18.
반응형


안녕하세요 돼지왕 왕돼지입니다.
오늘은 Custom Dialog 와 Popup Window 에 대해 알아보겠습니다.
 
 

Custom Dialog ( 커스텀 대화 상자 )

 
setView(View view) // custom view 설정

final LinearLayout linear = (LinearLayout) View.inflate(.this, R.layout.layout, null);
 
new AlertDialog.Builder(.this)
   .setTitle("Input the information")
   .setIcon(R.drawable.icon)
   .setView(linear)
   .setPositiveButton("OK", new DialogInterface.OnClickListener(){
      public void onClick(DialogInterface dialog, int whichButton){
         // To Do
      }
   }
   .setNegativeButton("Cancel", null)
   .show();

 

 
 

Popup Window ( 팝업 창 )

 
 <APIs>

public PopupWindow ()
public PopupWindow (View contentView)
public PopupWindow (int width, int height)
public PopupWindow (View contentView, int width, int height, boolean focusable)
  -> 팝업은 임의의 위치에 열 수 있다.
  
public void PopupWindow.setContentView (View contentView)
public void PopupWindow.setWidth (int width)
public void PopupWindow.setHeight (int height)
public void PopupWindow.setFocusable (boolean focusable)
public void PopupWindow.setAnimationStyle( int style )  
 
public void PopupWindow.showAtLocation (View parent, int gravity, int x, int y)
  -> gravity 가 없는 경우 x, y 절대값.  gravity가 있는 경우, 그 위치에서부터의 상대값
 
public void PopupWindow.showAsDropDown (View anchor [, int xoff, int yoff])
  -> anchor로 지정한 view 좌하단에 열린다.
  
public void dismiss()
public boolean isShowing()

 
 
 <example>

PopupWindow popup = new popupWindow(popupview, 200, 100, true);
View popupview = View.inflate(this, R.layout.popup, null);
LinearLayout linea r= (LinearLayout)findViewById(R.id.linear);
Button btnshow = (Button)findViewById(R.id.btnshow);
 
popup.showAtLocation(linear, Gravity.NO_GRAVITY, 50, 100);
popup.showAtLocation(linear, Gravity.CENTER, 0, 0);
popup.showAtLocation(linear, Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM, 0, 0);
popup.setAnimationStyle(-1);  // 0 은 no animation
popup.showAsDropDown(btnshow);
 
popup.dismiss();

 

로그인 없이 추천 가능합니다. 손가락 꾸욱~





반응형

댓글