안드로이드 스튜디오
- Button & EditText -
다음으로 앱에서 가장 많이 쓰이는 위젯 중 하나인 버튼(Button)과
아이디입력, 비밀번호입력 등 사용자에게 텍스트를 입력받을 수 있는 EditText를 알아보자
[ Button ]
버튼도 전에 배웠던 TextView와 마찬가지로 위젯 중 하나이므로 activity.xml의 design 탭에서 드래그하여
나타낼 수 있고, Text탭에서 다음과 같이 직접 타이핑하여 만들 수도 있다.
<Button
android:id="@+id/btn_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button"/>
여기서 android:text = "button" 은 버튼 위에 텍스트를 넣은 모습이다.
(그럼 다음과 같이 버튼이 생성된다.)
그리고 중요한 점은 바로 윗줄의 android:id="@+id/btn_test" 이 문구이다.
이 문구의 의미는 버튼에 아이디값을 부여한다는 뜻인데 btn_test가 이 버튼의 아이디가 되는 것이다.
그럼 아이디를 왜 부여할까?
바로 버튼에 어떤 명령을 부여하고 싶을 때 .java 파일에서 이 아이디값을 불러와 명령을 부여하기 때문이다.
그래서 굉장히 중요하다.
그럼 예시로 버튼을 누를 때 버튼 위의 텍스트를 변경하는 명령을 부여해보면
MainActivity.java 파일에서 이렇게 코딩해준다.
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button btn_test;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_test = (Button)findViewById(R.id.btn_test);
btn_test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btn_test.setText("텍스트변경!");
}
});
}
먼저 Button btn_test; 로 버튼 btn_test를 선언해주고
btn_test = (Button)findViewById(R.id.btn_test); 이렇게 전에 부여한 아이디값을 가져온다.
(R.id.btn_test에서 R은 resource폴더를 의미한다.)
그 다음 setOnClickListener(new View.OnClickListener() 이 구문이 버튼이 눌렸을 때 어떤 일이 발생되는가를 처리하는
함수가 되겠다.
위 예문에서는 setText로 텍스트를 변경한 것을 알 수 있다.
[ EditText ]
그럼 다음으로 에딧텍스트 위젯을 알아보자.
우리가 흔히보는 아이디입력창과 같은 텍스트입력창이 바로 EditText인데
생성은 앞에서 말한 위젯들과 똑같이 Activity.xml파일에서 만들어주는데 Text탭에서
<EditText
android:id="@+id/et_test"
android:layout_width="100dp"
android:layout_height="wrap_content" />
이렇게 생성할 수 있다.
위 예시에서는 길이 100dp, 높이는 자동으로 크기에 맞춰서 생성하고
아이디값을 et_test라는 아이디를 부여해준 상태이다.
그럼 이 부여한 아이디값을 이용해 전에 만들어둔 버튼이 눌릴 때 EditText에 텍스트가 입력되도록 명령을 부여해보자
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
EditText et_test;
Button btn_test;
ImageView iv_test;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_test = (EditText)findViewById(R.id.et_test);
btn_test = (Button)findViewById(R.id.btn_test);
btn_test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et_test.setText("에딧텍스트!");
}
});
}
앞서 설명한 버튼과 선언과 아이디부여, 사용법은 굉장히 비슷한 것을 알 수 있다.
EditText et_test; 로 먼저 선언한 후
et_test = (EditText)findViewById(R.id.et_test); 로 만들어둔 아이디를 부여해준 뒤
et_test.setText("에딧텍스트!");로 텍스트를 입력해준 것을 볼 수 있다.
이러한 기본기들에 익숙해지고 더 배움으로써 근사한 어플을 만드는 데 밑거름이 될 것이다.
더 열심히 배워보자!
'안드로이드 스튜디오' 카테고리의 다른 글
#6 내비게이션 메뉴 (Navigation Menu) 의 구성, 틀 (0) | 2019.02.12 |
---|---|
#5 리스트뷰 (ListView) (0) | 2019.02.12 |
#4 이미지뷰 (ImageView) & 토스트(Toast) (0) | 2019.02.11 |
#3 화면 전환하기 (Intent) (0) | 2019.02.11 |
#1 TextView & LinearLayout (0) | 2019.02.10 |