반응형
SMALL

▩ 안드로이드 커스텀 대화상자


안드로이드에서 제공하는 커스텀 대화상자는 사용자 인터페이스에 맞게 디자인 할수 있는 대화상자입니다. 커스텀 대화상자를 만드는 과정은 버튼을 만들고 버튼을 눌렸을때 작은 창이 뜨도록하겠습니다.


1> CustomDialog01 프로젝트를 생성합니다.

2> res/layout/activity_main.xml 파일의 코드는 아래 그림과 같습니다.

   커스텀 대화사장을 만들기 위해서는 우선 Button를 만듭니다. 여기서 중요한 포인트는

   android:onClick="onClick" 이 코드는 , 버튼을 누르면 호출하는 코드입니다.

3> 버튼을 작성하였으며, 버튼을 누르면 나타는 layout를 만들어야 합니다. 아래 그림을 보시면

   activity_main.xml아래 custom.xml 파일을 만듭니다. 



EditText를 2개 만듭니다.그리고 LinearLayout 만든다음 LinearLayout에 Button 2개를 만듭니다.

다. 이 layout은 activity_main.xmal에서 button이 클릭 되며 보여주기 위함입니다.


4>MainActivity.java 코드를 작성해 봅시다.



중요한 부분만 코드를 작성하여 설명하겠습니다.



① 코드입니다.

public void onClick( view view)  {             ->button에 onClick 기능을 부여했습니다.

    final Dialog loginDia = new Dailog(this);   -> onClick안에 커스텀 대화상자를 생성합니다.

    loginDia.setContentView(R.layout.custom); ->커스텀 대화상자는 이곳에서 호출됩니다.

    loginDia.setTitle("로그인화면");


②코드입니다.

    Button login = (Button) loginDia.findViewById(R.id.login);                                   

    Button cancel =(Button)lofinDia.findViewById(R.id.cancel);

                    ->버튼 두개를 loginDia에 붙이는 코드작업입니다.


    final EditText name =(EditText)loginDia.findviewById(R.id.name);

    final EditText pass = (EditText)loginDia.findviewById(R.id.pass);

                    ->name,pass EditText를 login.setOnCli loginDia에 붙이는 코드작업입니다.

③코드입니다.

    login.setOnClickListener(new View.OnClickListener(){

              ->login을 클릭하며 아래 코드 조건에 맞는면 "로그인성공"이라고 토스트 뿌립니다

       public void onClick(View view){

         if(name.getText().toString().trim().length() >0 &&  

               ->이름을 입력할때는 , 글자 및문자가 0보다 커야 합니다.                                                       pass.getText().toString().trim().length() >0

 { Toast.makeText(getApplicationContext(),

                             "로그인 성공", Toast.LENGTH_LONG).show();

                           loginDia.dismiss();

            }

④ 코드입니다.

    else{

      Toast.makeText(getApplicationContext(),"다시 입력하시오", Toast.LENGTH_LONG).show();

}   -> ③코드에 맞지않으면 "다시 입력하시오"라는 토스트를 뿌려줍니다.


⑤ 코드입니다.

  cancel.setOnClickListenr(new View.OnClickListener(){

    public void onClick(View v){

      loginDialog.dismiss();

   }

인천직업능력교육원: 배움이

반응형
LIST

+ Recent posts