App노자

[Android] Toast (토스트) 본문

Android/AndroidStudio

[Android] Toast (토스트)

앱의노예 2022. 6. 24. 23:20

1. 토스트 메시지란?


 

 

 

 

 

 

https://developer.android.com/guide/topics/ui/notifiers/toasts?hl=ko 

 

토스트 메시지 개요  |  Android 개발자  |  Android Developers

토스트 메시지 개요 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 토스트 메시지는 작은 팝업으로 작업에 관한 간단한 피드백을 제공합니다. 메시지에 필

developer.android.com

 

 

 

 

EditText를 터치하면 OnFocus 상태가 되며 하단에서 키보드가 올라온다

일반적으로 사용하는 앱들은 키보드 이외의 다른 화면을 클릭하면 키보드가 내려간다

이 기능은 아무것도 처리를 안해도 여기서 별다른 제어를 하지 않으면 키보드는 내려가지 않는다

 

public class MainActivity extends AppCompatActivity {

    private EditText edit_text1 = null;

    @Override
    public boolean dispatchTouchEvent(MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            View v = getCurrentFocus();
            if ( v instanceof EditText) {
                Rect outRect = new Rect();
                v.getGlobalVisibleRect(outRect);
                if (!outRect.contains((int)event.getRawX(), (int)event.getRawY())) {
                    v.clearFocus();
                    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
                }
            }
        }
        return super.dispatchTouchEvent( event );
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        edit_text1 = (EditText) findViewById(R.id.edit_text1);
//
////        listener= new View.OnFocusChangeListener() {
////            public void onFocusChange(View v, boolean hasFocus) {
////                if(!hasFocus){
////                    System.out.println("Test CHOI");
////                }else {
////                    System.out.println("Test CHOI");
////                }
////            }
////        };
//        //edit_text1.setFocusableInTouchMode(true);
//        //edit_text1.setFocusable(true);
//
        edit_text1.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (hasFocus) {
                    Toast toast = Toast.makeText(getApplicationContext(), "in", Toast.LENGTH_SHORT);
                    toast.show();

                } else {
                    Toast toast = Toast.makeText(getApplicationContext(), "out", Toast.LENGTH_SHORT);
                    toast.show();
                }
            }
        });
    }
}

'Android > AndroidStudio' 카테고리의 다른 글

[Android] Manifest (매니페스트)  (0) 2022.07.31
[Android] resources (리소스)  (0) 2022.07.01
[Android] ConstraintLayout  (0) 2022.06.24
[Android] FrameLayout  (0) 2022.06.23
[Android] RelativeLayout  (0) 2022.06.20