안드로이드 : 이미지와 텍스트가 포함된 토스트 띄우기

안드로이드|2018. 12. 12. 13:55
반응형

clickBtn은 xml에 버튼에서 onClick을 통해 만든 메소드입니다.


public void clickBtn(View view) {



        //기본 토스트 띄우기

        //Toast.makeText(this, R.string.toastMsg , Toast.LENGTH_SHORT).show();


        //전에 뜨는 토스트 취소하기 뜨게 하기

        /*if( t != null ) {

            t.cancel();

            t = null;

        }

        //Toast객체 생성

        t = Toast.makeText(this, "안녕하세요", Toast.LENGTH_SHORT);

        t.show();*/


        //토스트 뜨는 위치 조정

        /*Toast t = Toast.makeText(this,"aaaa",Toast.LENGTH_SHORT);

        t.setGravity(Gravity.CENTER, 0, 0);

        t.show();*/


        //토스트는 기본이 Text이므로 Custom View하여 그림 등으로 토스트 띄우기

        Toast t = Toast.makeText(this, "", Toast.LENGTH_LONG);

        t.setGravity(Gravity.CENTER, 0, 0);


        //자바로 만들기

        /*ImageView iv = new ImageView(this);

        iv.setImageResource(android.R.drawable.ic_lock_silent_mode);

        TextView tv = new TextView(this);

        tv.setText("음소거 모드");


        //여러개의 뷰를 넣으려면 ViewGroup으로 감싸서 넣기

        LinearLayout layout = new LinearLayout(this);

        layout.setOrientation(LinearLayout.VERTICAL);

        layout.addView(iv);

        layout.addView(tv);

        t.setView(layout);*/


        //원하는 View를 자바로 만들면 코드가 너무 지저분하므로 View 생성을 xml로 사용하기

        //- XML로 View 객체의 모양을 설계하고 자바의 객체로 생성시켜 사용하기

        //res 폴더 안에 layout 폴더 안에 있는 toast.xml 문서를 읽어서

        // 자바 객체로 생성(부풀리는 inflate)하는 능력을 가진 객체를

        //운영체제 대리인(Context)로부터 얻어오기

        //LayoutInflater inflater = getLayoutInflater();

        LinearLayout layout = (LinearLayout)getLayoutInflater().inflate(R.layout.toast, null);

        t.setView(layout);

        t.show();

    }

반응형