Notice
Recent Posts
Link
«   2024/11   »
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
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

반응형