본문 바로가기
어플 개발

안드로이드 스튜디오 이미지 숨기기 방법 kotlin

by MinervaG 2020. 3. 24.

안녕하세요. 공돌이 입니다.

이번 글에서 공유할 내용은 TextView, Button, imageview 등 사용자에게 정보를 전달하는 item에 대해서 숨겼다가 표시했다가 하는 코드를 설명하고자 합니다. 해당 내용에 대해서 직접적인 교육자료가 잘 없고, 또 사용자에 코드 하나의 차이로 효과가 조금씩 다르게 나타나 필요에 따라 해당 기능을 잘 이용하면 좋을 것으로 판단합니다. 먼저 아래의 그림처럼 버튼 4개와 그림1개를 만들어서 준비했습니다. Linear layout을 이용하였습니다.

 

그리고 위에서 순서대로 1, 2, 3, 4 이렇게 id를 설정하였고, imageViewimageView로 하였습니다. 위의 버튼들과 이미지들은 다음의 코드를 사용하여 숨김 처리가 가능합니다.

 

override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)

        setContentView(R.layout.activity_main)

        imageView.visibility= View.INVISIBLE

 

이렇게 코드를 imageView.visibility= View.INVISIBLEMainActivity.ktonCreate 아래에 추가함으로써 위 그림의 지도 모양을 숨길 수 있습니다. 아래 그림의 바로 그 결과입니다.

 

id.visibitiy=View.INVISIBLE 이라는 코드가 실행된 결과입니다. id에 개발자가 원하는 image, button, seekbar, text 모든 항목들을 해당 코드를 이용해서 숨길 수 가 있습니다. 이 기능을 이용하면, 특정 액션을 취했을 때 hint를 보여주는 버튼을 활성화하거나, 불필요한 터치를 막기 위해 해당 버튼을 숨김 처리하거나 할 수 있습니다. 여기서 주의 깊게 보아야 하는 부분은 지도 모양을 숨기는 명령을 실행했기 때문에, 그 자리가 빈 공백으로 유지됩니다. 물론 해당 영역이 공백으로 유지가 된다면 좋을 수도 있지만, 상황에 따라서는 저 공백을 지우고, 마지막 아래 버튼이 그 공백을 메우는 구조가 더 좋을 수 있습니다. 그렇게 하기 위해서는 위의 코드에서 INVISIBLEGONE로 변경하면 됩니다.

 

override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)

        setContentView(R.layout.activity_main)

        imageView.visibility= View.GONE

 

이와 같이 View.GONE로 변경함에 따라 기존에 지도 아이콘이 있던 영역의 공백이 없어지고, 바로 아래에 있는 버튼이 위로 이동하여 해당 공백을 메운 것을 확인할 수 있습니다. 동일한 방법을 이용하면, 원하는 버튼을 원하는 타이밍에 숨길 수 있으며, 또 그 자리의 공백을 메워 다른 버튼이 해당 위치를 차지할 수 있습니다. 이 방식을 이용하면, 스탑워치와 같은 타이머 어플에서 해당 기능을 사용할 수 있습니다. 예를 들어 시작 버튼을 누른 후에는 시작 버튼을 숨기고 해당 위치에 일시 정지와 종료 버튼을 나타나게 하는 형태로 구현이 가능합니다.

View.GONEView. INVISIBLE 은 각각 표시를 숨기는 명령어입니다. 그렇다면 숨긴 버튼들을 다시 보이게 하는 방법은 어떻게 하는 것일까요? 바로 VISIBLE 이라는 명령어 입니다.

 

override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)

        setContentView(R.layout.activity_main)

        imageView.visibility= View.VISIBLE

 

바로 영어 단어 뜻 그대로 모든 것이 진행된 것을 아실 수 있습니다. VISIBLE 보이게 라는 뜻처럼 숨겼던 이미지를 다시 유저가 볼 수 있도록 하는 것입니다. 아래가 결과입니다.

 

즉 영어 단어 3개만 외우시면 해당 작업을 편하게 할 수 있습니다. 단순히 화면에 보였다 숨겼다 하는 작업을 원할 경우에는 INVISIBLE VISIBLE 이라는 명령어를 쓰면 되고, 해당 위치에서 삭제 한 것처럼 공백 조차 없애고 싶을 경우 GONE를 사용하면 됩니다.

 

앞서 seekbar도 그 옵션에 따라 다양하게 변경이 가능함을 보였습니다. button들도 사용자가 원하는 색깔, 눌렀을 때 색이 변하게 등 옵션들이 많이 있습니다. 다음 글 에서는 해당 button들의 옵션 변경 방법에 대해서 공유해 보겠습니다.

반응형

댓글


TOP