이번에는 안드로이드 스튜디오에서 버튼을 만드는 방법에 대해 설명하겠습니다.
만들어진 파일에서 activity_main.xml파일로 이동한 다음 design탭 대신 code 혹은 split탭을 눌러 코드가 보이게 설정합니다.
해당 파일은 초기 메인화면을 구성하는 코드로 이루어져 있으며 ConstraintLayout으로 구성되어 있으며 내부에 TextView가 들어있고 텍스트 내용으로 Hello World! 가 들어있는 부분입니다. 여기서 TextView는 텍스트를 보여주는 코드로 해당 부분에서 필요가 없으므로 <> 안 부분을 전부 제거를 하셔도 좋습니다. 그리고 ConstraintLayout대신 LinearLayout으로 변경을 해줍니다.
LinearLayout으로 변경하게 되면 회색 부분이 형성되는데 이 부분은 사용하지 않는 코드라는 의미로 제거를 하셔도 무방합니다. 그리고 사진과 같이 버튼 태그를 입력하고 크기와 id 텍스트를 입력합니다. 여기서는 strings.xml파일을 이용하기 위해 연결 값을 지정하였으며 원한다면 그냥 값을 넣어도 됩니다.
입력한 버튼 부분은 다음과 같습니다.
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button1"
android:text="@string/strBtn1">
</Button>
해당 코드의 각 부분을 설명하면 다음과 같습니다.
layout_width는 가로 크기를 설정하는 부분이고 wrap_content는 변동 크기를 의미합니다.
layout_height는 세로 크기를 설정하는 부분입니다.
id는 기능을 적용할 때 사용할 이름입니다.
text는 임시로 표현할 때 사용할 텍스트입니다.
그대로 두면 에러가 발생하므로 왼쪽의 상태창에서 res -> values -> strings.xml파일을 더블클릭하여 파일을 연 뒤 <string> 태그를 입력하여줍니다.
입력 예시는 다음과 같습니다.
<string name="strBtn1">버튼입니다.</string>
해당 코드는 strBtn1의 이름을 가진 string부분에 '버튼입니다.'글자를 대신 입력하라는 뜻입니다.
코드 창을 split 혹은 desgin탭으로 변경을 하게 되면 기존 텍스트 뷰로 만들어진 헬로월드가 없어지고 버튼이 형성되어있음을 알 수 있습니다.
코드를 실행해서 가상 에뮬을 돌리게 되면 위와 같이 버튼이 형성되었음을 알 수 있습니다. 다만 해당 버튼은 눌러는 지지만 기능을 만들지 않아 아무런 역할을 하지는 않습니다.
코드를 작성하면서 java파일에 여러 값을 입력하게 되는데 이때 많은 클래스를 입력하게 됩니다. 이럴 때는 Alt + Enter를 이용해 import를 할 수 있지만 다음과 같이 설정을 하게 되면 보다 편하게 자동으로 필요한 클래스를 입력해 줍니다.
다시 본론으로 돌아오면 MainActivity.java파일로 들어가서 원하는 부분에 해당 코드를 입력해 줍니다.
java파일은 실질적인 명령을 수행하는 것으로 기능을 추가하는 부분이라고 생각하시면 됩니다.
입력하는 코드의 부분으로는 다음과 같습니다.
package com.example.buttoncreate;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"버튼이 눌렀습니다.",Toast.LENGTH_SHORT).show();
}
});
}
}
위 코드에 대한 설명으로는 다음과 같습니다.
해당 부분에서의 추가된 class 내부의 Button클래스로 객체로서 button1을 선언한 다음 onCreate 매소드 안에서 button1 객체가 xml파일에서 id가 button1로 초기화하여 줍니다. 그리고 button1에 setOnClickListener를 입력해 눌렀을 때 작동을 넣어주고 Toast를 이용해 팝업 메시지를 주는데 값으로는 '버튼이 눌렀습니다.'로 설정합니다.
해당 부분이 정상적으로 작동하는지 다시 한번 작동해 봅니다. 이상이 없다면 정상적으로 작동함을 확인할 수 있습니다.
이상으로 버튼 만드는 방법에 대하여 설명하였습니다.
'프로그램 개발 > 안드로이드 스튜디오 개발' 카테고리의 다른 글
안드로이드 스튜디오 기본 위젯 2(컴파운드 버튼, 이미지뷰, 이미지버튼) (0) | 2021.05.05 |
---|---|
안드로이드 스튜디오 기본 위젯 1(텍스트 뷰, 버튼, 에디트 텍스트) (0) | 2021.04.15 |
안드로이드 스튜디오 뷰 클래스 레이아웃 (0) | 2021.04.01 |
안드로이드 스튜디오를 활용한 안드로이드 프로그래밍 2-3 정답 (0) | 2021.03.16 |
안드로이드 스튜디오 프로젝트 생성 (0) | 2021.03.06 |