본문 바로가기

안드로이드 스튜디오

#4 이미지뷰 (ImageView) & 토스트(Toast)

안드로이드 스튜디오

- 이미지뷰 & 토스트 기능 -


이번에는 자신이 원하는 이미지를 띄우는 이미지뷰(ImageView)위젯과 밑에 마치 토스트기에서 토스트가 띵! 하고

올라오듯 텍스트가 올라오는 기능인 Toast기능을 알아볼 것이다.



[ ImageView ]


이미지뷰를 MainActivity에 만들어 보도록 하자.

activity_main.xml 로 들어가서 Text탭에 들어가 만들어 볼 것이다. (물론 Design탭에서 드래그해도 무방)

<ImageView
android:id="@+id/iv_test"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/ic_launcher"/>

android:layout 이 부분들은 전에 텍스트뷰나 버튼 등 다른 위젯에서 많이 본 구문이고

android:id 또한 아이디를 부여하는 구문으로 아는 내용일텐데

android:src= "~" 기능은 뭘까?

android:src 이 부분은 링크를 가져오는 구문이다.

그리고 "@mipmap/~" 는 mipmap이라는 폴더 안에 있는 그림파일인 ic_launcher를 가져온다! 라는 의미이다.

참고로 mipmap 폴더는 app->res 폴더 안에 있다.

이러한 방법으로 이미지뷰를 생성할 수 있을 것이다.


< 한가지 추가로 레이아웃을 저 이미지뷰에만 부여하는 것을 해보자면 이렇다. />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">

<ImageView
android:id="@+id/iv_test"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/ic_launcher"/>

</LinearLayout>

layout_width="match_parent" 너비는 화면 꽉 채우고

layout_height="wrap_content" 높이는 이미지뷰 크기에 자동으로 맞춘 레이아웃을 지정해주었다.

그리고 gravity="center"로 지정을 해줌으로써 이미지뷰가 레이아웃 중앙에 위치하게 된다.

다른 것은 gravity="right" 도 있고

그래비티 부분을 안 쓰면 기본값은 left여서 이미지뷰가 왼쪽에 위치한 것을 볼 수 있다. />



[ Toast ]


그럼 이 이미지뷰를 눌렀을 때 토스트 메세지가 뜨도록 명령을 부여해보자

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
//ImageView 선언
ImageView iv_test;

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

iv_test = (ImageView)findViewById(R.id.iv_test);
iv_test.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "토스트메세지 입니당",Toast.LENGTH_SHORT).show();
}
});

}
}

아 뭔가 토스트 창이 굉장히 길어서 어려워보이지만 차근차근 살펴보자


우선 이제 기본이 되어버린 ImageViw iv_test; 로 선언해 준 다음

iv_test = (ImageView)findViewById(R.id.iv_test); 로 미리 만들어둔 아이디를 불러온 다음

setOnClickListener 함수를 이용해 눌렀을 때 명령한 내용이 나오도록 만들어준다.


Toast.makeText는 토스트의 가장 기본적이면서 가장 많이쓰이는 토스트텍스트 출력 함수이다.

(getApplicationContext(), " 토스트텍스트 내용~", Toast.LENGTH_SHORT).show();

여기서 앞에 getApplicationContext()현재 있는 Mainactivity를 나타내며

Toast.LENGTH 부분은 _LONG과 _SHORT가 있는데 말 그대로 시간초를 나타내는 부분인데

SHORT로 함으로써 짧은 시간동안 메세지가 뜨도록 설정한 부분이다.

그리고 꼭 함수 뒤에 .show()를 함으로써 텍스트가 보여지도록 설정해줘야 한다.



빡공하자!!