코드네임 :
📱 모바일프로그래밍 - (중간) 모르는거 정리 1 (위젯) 📱 본문
저는 채찍피티가 정말 좋네요
1. View = 위젯 !!!!!!
2.
android:layout_width="match_parent"
android:layout_height="wrap_content"
인 경우
android:layout_width="wrap_content"
android:layout_height="wrap_content"
인 경우
3. 패딩과 마진
예시
➡️ 결과
4. android:gravity="right|bottom" 이런 거는 오른쪽 아래 정렬
5. gravity와 layout_gravity 속성 차이
layout_gravity와 gravity는 안드로이드에서 View의 배치와 관련된 속성이지만, 둘은 서로 다른 상황에서 사용됩니다.
1. gravity
- 적용 대상: View(위젯)의 내부 (주로 TextView, Button 등 텍스트를 포함하는 View).
- 역할: View 내부에서 콘텐츠(예: 텍스트)의 정렬을 지정합니다.
- 예시: 만약 TextView의 gravity를 center로 설정하면, 텍스트가 TextView 내부의 중앙에 위치하게 됩니다.
- 사용 가능 값: top, bottom, left, right, center, center_horizontal, center_vertical 등.
2. layout_gravity
- 적용 대상: View의 부모 레이아웃 (예: LinearLayout, FrameLayout 등).
- 역할: 부모 레이아웃 내에서 View의 위치를 정합니다.
- 예시: 만약 LinearLayout에 Button이 있고, 그 Button의 layout_gravity를 center로 설정하면, Button은 부모 레이아웃의 중심에 배치됩니다.
- 사용 가능 값: top, bottom, left, right, center, center_horizontal, center_vertical 등.
요약
- gravity: View 내부의 콘텐츠가 배치될 위치를 결정.
- layout_gravity: View가 부모 내에서 배치될 위치를 결정.
6. ⭐️layout_weight :
layout_weight는 안드로이드에서 LinearLayout 내에 있는 자식 뷰들의 공간 배분을 결정하는 데 사용되는 속성입니다. 이 속성을 사용하면 자식 뷰가 부모 뷰의 남은 공간을 어떻게 나눠 가질지를 설정할 수 있습니다. layout_weight는 주로 비율에 따른 배치를 위해 사용됩니다.
layout_weight의 역할
- LinearLayout의 방향에 따라 자식 뷰가 수직 혹은 수평으로 나열될 때, 각 자식 뷰가 얼마나 많은 공간을 차지할지를 비율로 정합니다.
- 자식 뷰에 layout_weight가 설정되지 않으면, 해당 뷰는 기본 크기 (예: wrap_content나 match_parent)만큼의 공간을 차지합니다.
- layout_weight를 설정하면 해당 뷰는 부모 LinearLayout의 남은 공간을 다른 자식 뷰들과 비율에 따라 나눠 가집니다.
예시
<LinearLayout
android:orientation="vertical">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button 1" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Button 2" />
</LinearLayout>
➡️ 결과
7. visibility - 위젝을 보이게 할지 말지
➡️ visible, invisible, gone(얘는 숨겨지고 '자리도 차지하지 않음' 걍 없애는거임 완전 빈공간)
ㄴ 얘는 숨겨지지만 자리는 차지
8.
enabled : 위젯의 동작 여부 (true/false)
clickable : 클릭이나 터치가 가능하도록(true/false)
근데 XML 보다는 Java 코드에서 주로 사용한댄다
9. Textview : 정보 표시 용도
- text 속성 : 텍스트뷰에 나타나는 문자열 표현
- singleLine 속성 : 글이 길 경우 강제로 한줄만 표시하고 문자열 뒤에 ...표시
10. EditText
- inputType 속성 : 에디트 텍스트에 입력할 데이터 형식 지정 (키보드의 형태의 자판 표시)
➡️Java코드에서
EditText myEdit; // 에디트 텍스트 변수 선언
myEdit = (EditText) findViewById(R.id.edittext1); // 변수에 에디트 텍스트 위젯 대입
String myStr = myEdit.getText().toString();
//에디트텍스트(myEdit)에 입력된 값을 문자열 형식으로 변경해 가져오기(myEdit.getText().toString())
// 주로 버튼 클릭 이벤트 리스너 안에 삽입
11. Checkbox - 여러개의 체크박스가 서로 독립적으로 동작
체크박스에서 체크와 언체크가 바뀌었을때 Java코드 3단계
1. CheckBox mycheck; //체크박스 변수 선언
2. mycheck = (CheckBox) findViewById(R.id.android) // 변수에 체크박스 위젯 대입
3.
mycheck.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
//동작 내용을 이 부분에 코딩
}
});
12. 스위치와 토글 버튼
13. 라디오버튼과 라디오그룹
- 라디오버튼 : 여러 개 중 하나만 선택해야 하는 경우에 사용
- 라디오그룹 : 라디오버튼만 여러 개 나열하면 클릭하는 것마다 모두 중복 선택이 되므로 라디오그룹과 함께 사용
14. 이미지뷰 : 그림을 출력하는 위젯 - 그림이 필요하거나 화면을 구성할 때 사용
- src : 이미지의 경로 (이미지는 drawable 폴더에 있음 ( 접근 : @drawable/그림아이디 )
- scaleType : 이미지뷰에 사용된 이미지 크기나 비율, 위치 조정 (어디로 가는지 정도만 알아두기)
'백엔드 > Android_JAVA' 카테고리의 다른 글
📱 모바일프로그래밍 - (중간) 모르는거 정리 3 (Midterm2.android)📱 (0) | 2024.10.24 |
---|---|
📱 모바일프로그래밍 - (중간 - Midterm.Android) 모르는거 정리2 📱 (0) | 2024.10.23 |
📱 모바일프로그래밍 - 명시적 인텐트📱 (0) | 2024.10.18 |
📱 모바일프로그래밍 - 액티비티와 인텐트 기본📱 (0) | 2024.10.18 |
📱 모바일프로그래밍 - 대화상자 📱 (1) | 2024.10.12 |