입력상자는 사용자의 입력을 받는 역할을 한다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/userNameInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="24dp"
android:inputType="textCapWords"
android:hint="이름을 입력하세요"
android:layout_marginTop="20dp"
android:background="#11000000"/>
<EditText
android:id="@+id/userAgeInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="24dp"
android:inputType="number"
android:hint="나이를 입력하세요"
android:layout_marginTop="10dp"
android:background="#11000000"/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="제출"
android:textSize="24dp"
android:layout_marginTop="20dp"/>
</LinearLayout>
2개의 입력상자와 1개의 버튼을 넣었다.
hint 속성은 사용자에게 어떤 것을 입력해야할 지 알려주는 역할을 하는데, 입력상자를 클릭하면 사라진다. 그리고 inputType 속성으로 입력할 텍스트의 종류를 알 수 있다. textCapWords는 영어나 한글 같은 키패드를 띄워주고, number를 값으로 주면 숫자를 입력하기 편리하도록 알아서 키패드를 띄워준다.
간단한 앱을 만들어보자.
package io.swnomad.samplewidget;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
EditText userNameInput;
EditText userAgeInput;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* XML 레이아웃에 정의 된 뷰 객체 참조 */
userNameInput = findViewById(R.id.userNameInput);
userAgeInput = findViewById(R.id.userAgeInput);
button = findViewById(R.id.button);
/* 버튼 클릭 이벤트 발생 시 처리부 코드 */
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/* 입력상자의 문자열 읽어와 저장 */
String name = userNameInput.getText().toString();
int age = Integer.valueOf(userAgeInput.getText().toString());
String str = "이름 : " + name + " 나이 : " + age;
Toast.makeText(getApplicationContext(), str, Toast.LENGTH_LONG).show();
}
});
}
}
버튼을 클릭하면 입력상자의 내용을 읽어와 토스트 메시지로 띄워주는 간단한 기능을 만들어보았다. getText() 메소드를 사용하면 입력상자의 내용을 읽어올 수 있다. 앱을 실행하면 다음과 같은 화면이 나온다.
실제로 두 입력상자의 inputType 속성을 어떻게 설정했느냐에 따라 다른 모양의 키패드를 띄워주는 것을 확인할 수 있다.
'안드로이드' 카테고리의 다른 글
(안드로이드) 15 - 액티비티(Activity) (0) | 2020.05.18 |
---|---|
(안드로이드) 14 - 인플레이션(Inflation) (0) | 2020.05.18 |
(안드로이드) 12 - 기본 위젯(2) - 버튼(Button) (0) | 2020.05.18 |
(안드로이드) 11 - 기본 위젯(1) - 텍스트뷰(TextView) (0) | 2020.05.18 |
(안드로이드) 10 - 프레임 레이아웃(FrameLayout) (0) | 2020.05.18 |