이우의 개발일지
안드로이드 스튜디오 View에 대해(XML, TextView, EditText, Button) 본문
안드로이드 스튜디오를 통해 앱을 만들면 사용자가 볼 수 있는 View에 관련한 것들을 만들어야 합니다.
그래서, 이번에는 View에 관련된 내용을 다뤄보도록 하겠습니다.
View class
View class는 이런식으로 세분화 됩니다. 화면에 보이는 요소를 View라고 하고 그 요소들을 배치하는 레이아웃을 ViewGroup이라고 생각하면 됩니다. 그 외에 TextView, ImageView, ProgressBar 등이 존재합니다.
UI XML resource
XML 코딩을 할 때 button이든 textView이든 꼭 들어가는 부분이 있습니다.
resource를 쓸 때 꼭 추가해줘야하는 4가지 구문입니다. 4가지 중 1가지는 꼭 써줘야한다는 말이죠.
그럼, 여기서 궁금증이 생길 수 있습니다.
아직, XML resource가 와닿지 않는 분들은 충분히 의문이 갈만합니다.
그 이유는 @+id/: 이 구문은 새로운 ID를 생성하고 이를 리소스에 추가하는 데 사용되기 때문입니다. 즉, 새로운 ID를 정의하고 리소스에 추가하고자 할 때 사용합니다.
example1)
<EditText
android:id="@+id/edit_text_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin = "15dp"
android:inputType="numberDecimal"
android:hint = "Number1" />
이렇게 edit_text_1이라는 것을 정의해줄 때 android:id = " @+id/edit_text_1" 같이 정의를 해줍니다.
android:id 속성은 안드로이드 XML 레이아웃에서 각 뷰(View)를 고유하게 식별하는 데 사용되는 속성입니다. id 속성은 각각의 뷰에 대한 고유한 식별자를 부여하여 앱 코드에서 특정 뷰를 참조하거나 조작하는 데 도움이 됩니다
android:id 속성을 사용할 때는 @+id/와 식별자를 함께 사용하며, 이것이 뷰의 고유한 ID로 사용됩니다. 여기서 + 기호는 새로운 ID를 생성하겠다는 의미이며, id/는 이 ID가 리소스로 사용되는 것을 나타냅니다.
TextView
TextView는 앱화면에 Text 문구를 띄우는 것을 의미합니다.
단순히 text를 띄우는 것이라면, 어렵지 않게 XML과 java를 이용해서 띄워줄 수 있습니다.
XML파일에 위처럼 Text라는 resource를 설정해줬다면 java파일에서 그걸 띄우기 위한 코딩을 해줄 수 있습니다.
이런식으로 우리가 설정해줬던 TextView를 불러오고(미리 설정되어있을 수도 있음), 그에 따른 Text를 setText구문을 이용해서 설정해주면 앱창에 설정한 text를 띄울 수 있습니다.
Edit Text는 위 화면과 같이 text를 입력받을 text창입니다. 위의 example1코드가 이 edit text코드 입니다. 이런식으로 java 파일에 activity.xml 파일을 불러오고 거기에 입력되어있던 edit_text_1 리소스를 가지고 입력받는 버튼 창을 가져올 수 있습니다. 버튼은 우리가 앱에서 굉장히 자주 쓰는 부분 중 하나이죠. 버튼을 누르면, 다음으로 넘어가거나 어떤 기능을 수행하게 만들어줄 수 있고 결과적으로 UI가 깔끔해진다는 장점이 있습니다.
Button을 XML파일에 이렇게 입력해주면 Add라는 Button이 생깁니다. 위에 resource 설정해주는 방법을 말했던 것처럼 android:id = "@+id/ button_add" 라는 button_add 리소스를 추가해주고 그 버튼에 넣어줄 text를 Add라고 추가해준 것입니다. 그러면, 이제 이 Add라는 버튼을 눌렀을 시에 행동할 기능을 설정해줘야겠죠? 이런식으로 editText1과 editText2에 넣어져있는 값을 number1, number2에 값을 받아서 더 더해주는 역할을 수행하게 코드를 짰습니다. 이건 물론 java에 넣어줘야하는 부분입니다. XML과 안드로이드 스튜디오에 관한 정보를 더 알고싶다면 밑에 글 참고하시면 됩니다!
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.TextView;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textview = new TextView( this);
textview.setText("Hello World!");
setContentView(textview);
}
}
Edit Text
setContentView(R.layout.activity);
editText1 = (EditText) findViewById(R.id.edit_text_1);
Button - 버튼
<Button
android:id = "@+id/button_add"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text = "Add"/>
buttonAdd.setOnClickListener(new View.OnClickListener(){
@Override public void onClick(View view){
String number1 = editText1.getText().toString();
String number2 = editText2.getText().toString();
Double result = Double.parseDouble(number1) + Double.parseDouble(number2);
textResult.setText("Result: " + result.toString());
}
});
'Coding > Android Studio' 카테고리의 다른 글
안드로이드 스튜디오 Toast class에 대해 (0) | 2023.11.08 |
---|---|
안드로이드 스튜디오 xml에 대해 (0) | 2023.11.07 |