Dialog 인터페이스 콜백 연습
private void showpop(View v ){
View pv = View.inflate(this,R.layout.popwindow, null);
TextView tv_photo = (TextView)pv.findViewById(R.id.tv_msg);
final PopupWindow pop = new PopupWindow(pv, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
pop.setOutsideTouchable(true);
pop.setBackgroundDrawable(new ColorDrawable(0*00000000));
pop.setFocusable(true);
tv_photo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this," ",Toast.LENGTH_SHORT).show();
pop.dismiss();
}
});
}
클래스 다시 쓰기
private Context context;
private String msg ;
private String btnConfirm ;
private String btnCancel ;
private TextView tv_msg ;
private Button btn_confirm ;
private Button btn_cancel ;
public MyDialig(Context context,String msg,String btnConfirm,String btnCancel) {
super(context,R.style.mydialog);
// TODO Auto-generated constructor stub
this.context = context;
this.msg = msg ;
this.btnCancel = btnCancel;
this.btnConfirm = btnConfirm;
}
private MyClickListener listener ;
인터페이스 생성
public interface MyClickListener{
public void confirm() ;
public void cancel() ;
}
인터페이스에 값을 매기다
public void setClickListener (MyClickListener listener){
this.listener = listener;
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.text1);
tv_msg = (TextView)findViewById(R.id.tv_msg);
btn_confirm =(Button)findViewById(R.id.btn_confirm);
btn_cancel = (Button)findViewById(R.id.btn_cancel);
tv_msg.setText(msg);
btn_cancel.setText(btnCancel);
btn_confirm.setText(btnConfirm);
btn_cancel.setOnClickListener(this);
btn_confirm.setOnClickListener(this);
Dialog 크기 설정
Window windows = getWindow();
Window Manager는 주로 창의 상태, 속성을 관리하는 데 사용됩니다.
WindowManager wm = ((Activity)context).getWindowManager();
현재 대화상자의 매개 변수 값 설정과 현재 창의 일부 속성을 가져옵니다
WindowManager.LayoutParams params =windows.getAttributes();
창이 표시되는 위치 설정하기
windows.setGravity(Gravity.CENTER);
화면 너비 가져오기
Display display = wm.getDefaultDisplay();
화면의 폭을 0.6으로 설정하다
params.width = (int) (display.getWidth()*0.6);
windows.setAttributes(params);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
촉발 주법 중의 방법
switch (v.getId()) {
case R.id.btn_confirm:
listener.confirm();
dismiss();
break;
case R.id.btn_cancel:
listener.cancel();
dismiss();
break;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.