Notice
Recent Posts
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
관리 메뉴

이우의 개발일지

안드로이드 스튜디오 View에 대해(XML, TextView, EditText, Button) 본문

Coding/Android Studio

안드로이드 스튜디오 View에 대해(XML, TextView, EditText, Button)

공대이우 2023. 11. 12. 18:14

안드로이드 스튜디오를 통해 앱을 만들면 사용자가 볼 수 있는 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파일에서 그걸 띄우기 위한 코딩을 해줄 수 있습니다.

 

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);
    }
}

 

이런식으로 우리가 설정해줬던 TextView를 불러오고(미리 설정되어있을 수도 있음), 그에 따른 Text를 setText구문을 이용해서 설정해주면 앱창에 설정한 text를 띄울 수 있습니다.

 

 


Edit Text

Edit Text는 위 화면과 같이 text를 입력받을 text창입니다.

위의 example1코드가 이 edit text코드 입니다. 

 

 

setContentView(R.layout.activity);


        editText1 = (EditText) findViewById(R.id.edit_text_1);

 

이런식으로 java 파일에 activity.xml 파일을 불러오고 거기에 입력되어있던 edit_text_1 리소스를 가지고 입력받는 버튼 창을 가져올 수 있습니다.

 


Button - 버튼

버튼은 우리가 앱에서 굉장히 자주 쓰는 부분 중 하나이죠.

버튼을 누르면, 다음으로 넘어가거나 어떤 기능을 수행하게 만들어줄 수 있고 결과적으로 UI가 깔끔해진다는 장점이 있습니다.

<Button
        android:id = "@+id/button_add"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text = "Add"/>

 

 

Button을 XML파일에 이렇게 입력해주면 Add라는 Button이 생깁니다. 

위에 resource 설정해주는 방법을 말했던 것처럼 android:id = "@+id/ button_add" 라는 button_add 리소스를 추가해주고 그 버튼에 넣어줄 text를 Add라고 추가해준 것입니다.

 

그러면, 이제 이 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());
            }
        });

 

이런식으로 editText1과 editText2에 넣어져있는 값을 number1, number2에 값을 받아서 더 더해주는 역할을 수행하게 코드를 짰습니다. 이건 물론 java에 넣어줘야하는 부분입니다.


XML과 안드로이드 스튜디오에 관한 정보를 더 알고싶다면 밑에 글 참고하시면 됩니다!

 

 

안드로이드 스튜디오 xml에 대해

안드로이드 스튜디오를 공부하던 중 java를 쓰는 java 파일 이외에 존재하는 activity_main.xml의 역할이 궁금해서 조사를 해봤다. 안드로이드 스튜디오 xml 역할 간단하게 xml의 역할은 이러하다. - UI 디

everything.pipelineleewoo.com

 

 

안드로이드 스튜디오 Toast class에 대해

안드로이드 스튜디오 Toast class Toast class란? Toast class는 짧은 메세지를 사용자에게 표시할 때는 클래스이다. 일종의 팝업 메세지 같은 것이라고 생각하면 된다. Toast.makeText(getApplicationContext(), "안

everything.pipelineleewoo.com