ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 모바일프로그래밍 정리4
    카테고리 없음 2020. 11. 2. 14:53

    ButtonEdit프로젝트

    EditText의 커서부분에 입력하면됨

    width이 wrap_content로 지정되어 있으면 문자입력시 폭이 늘어나고 여러줄 입력도 가능하다.

    클릭이벤트 발생시 java코드 수정해야함.

    Button의 클릭리스터((OnClickListener)에서 EditText에 입력된 문자열을 읽어서 Toast라는 짧은 메시지를 출력

    toast는 하단에 시스템메시지처럼?잠깐 보여지느것.

    위젯 = ImageView, TextView, Button, EditText  4개임.

    ViewGroup = 쟁반 이라는 개념.

    ViewGroup속성

    layout_width, layout_height 쟁반의 크기, 그릇의 크기



    padding속성

    View자체 속성임

    위젯 안에서 사용

    view와 내용물간의 간격

    Button의 경우 : 버튼내부 문자와 버튼 테두리와의 간격

    layout의 경우 : 부모view와 차일드view와의 간격

    즉 그릇과 안에 음식과의 간격

    padding이 잡힌 크기는 버튼속성이 먹음 (margin은 제안먹음)

    layout_margin속성

    layout속성임

    위젯 밖의 여백

    view와 부모 사이의 여백 간격

    즉 쟁반과 그릇 사이의 간격

    gravity속성-내용물 정렬

    그릇의 내용물을 어디에 둘지 결정

    View의 안쪽에 배치되는 내용물(TextView, ImageView 등..) 정렬방식.

    기본값은 좌측 왼쪽 위에 보여짐.

    '|' 파이프를 사용해 여러개를 적용할 수 있다.

    linearlayout 태그 에다가 사용!!


    제5강 LinearLayOut

    LinearLayout속성

    차일드View를 일렬로 배치하는 레이아웃(수직이냐 수평이냐 2가지가 있음)

    orientation속성

    horizontal 수평 = 0

    vertical 수직 = 1

    상황에 따라  orientation속성을 먹여도 적용이안되고 무시 될 때도 있다.

    TextView layout_width, layout_height가 match_parent로 하면 화면에 가득차기 때문에 안보이는 경우가 있음

    baselineAligned속성

    크기가 다른 TextView들이 글자 밑줄을 기준으로 맞춰주는 기능 true를 하면 밑줄기준으로 맞춰져서 보기좋음

    false는 이쁘게 나오지 않음.

    layout_gravity속성-layout정렬

    그릇이 쟁반을 어디에 둘지 결정

    TextView 안에다가 속성 사용

    수직일경우는 center를 해도 상단부처 차례대로 가운대로 쌓인다.

    이유는 TextView가 여러개일경우 다같이 center를 요청하면 겹쳐서 화면에 안보일 수 있을 수 있기 떄문임.

    layout_weight속성

    부모레이아웃의 남은영역을 얼마나 차지할 것인지 비율값 결정.

    속성값이 0 이면 자신의 원래 고유사이즈만큼 채우고

    속성값이 1이면 균등하게 나눠서 사용한다.

    만약 1:2:3 으로 사용할 경우

    즉 첫번재 TextView의 layout_weight는 1, 두번재 TextView의 layout_weight는 2. 세번재 TextView의 layout_weight는 3 일경우

    총 6등분해서 위에1칸, 중간에 2간, 하단에 3칸을 사용한다는 의미

    만약 어느 한개의 TextView의 layout_weight가 0이거나 속성값이 없으면 나는 원래 내 사이즈 만큼 쓰겠다 라는 의미.

    제6강 RelativeLayout속성

    상대적으로 배치, 기준으로부터 상대적으로 배치, 서로간의 위치 관계를 지정

    A옆에 B를 나둬라. C아래에 A를 나둬라 등..

    상대적으로 지정이 안되어있으면 당연히 좌측 상단으로 기본으로 감.

    layout_above = 기준view의 위에 둠

    layout_below = 기준view의 아래에 둠

    layout_centerInParent=가운데에 나둠.

    layout_alignParentLeft = 부모와 왼쪽 변에 맞춰라(Left, Right, Top. Bottom)

    layout_toStartOf =  기준view의 왼쪽과 해당view의 오른쪽을 일치

    layout_toEndOf =  기준view의 오른쪽과 해당view의 왼쪽을 일치

    layout_toLeftOf=  layout_toStartOf

    layout_toRightOf=  layout_toEndOf

    layout_alignTop = 기준view의 상단과 해당view의 상단을 일치

    layout_alignBottom = 기준view의 하단과 해당view의 하단을 일치

    layout_alignLeft = 기준view의 왼쪽과 해당view의 왼쪽을 일치

    layout_alignRight = 기준view의 오른쪽과 해당view의 오른쪽을 일치

    layout_alignStart =  layout_alignLeft

    layout_alignEnd =  layout_alignRight

    AbsoluteLayout = 절대적배치

    RelativeLayout과 반대 특징

    좌표로 배치

    스마트폰사이즈별로 계속 수정을 해야하기떄문에 잘사용하지 않음.

    FrameLayout=사진틀

    겹쳐서 놓음

    즉 먼저 놓으면 뒤에 가려서 안보임

    foreground=왼쪽상단기준

    foregroundGravity = 포그라운드 이미지 위치 결정

    measureAllchildren=모든 차일드view크기를 고려할껀지 결정

    제7강 레이아웃 중첩

    tableLayOut

    TableLayout 표속성

    표형식 View Layout이다

    TableRow로 구성된다. 즉 행으로 구성됨.

    여러개의 TableRow들이 모여서 TableLayout이 되는것.

    하나의 열을 셀 이라고함.

    셀 하나하나에는 차일드View가 들어감

    여러개의 행이 tablelayout에 공존해야하느모 tableRow의 높이layout_height는 기본값으로 wrap_content로 지정된다.

    셀안에 배치되는 차일드 view는 무조건 주어진 셀 안에 들어아야 하브로 layout_width속성값은 지정불가하며 항상 match_parent로 가정됨.

    셀안에 배치되는 차일드 view의 높이layout_height는 기본값으로 wrap_content로 되어있지만 원하면 셀 안에 가득채울수 있음.

    열의 폭은 수직으로 같은 셀중에 가장 넓은 폭의 셀 기준으로 됨.(즉 엑셀 워드처럼 표와 같다.)

    shrinkColumns = 셀 하나하나의 열의 폭을(가로길이) 줄이다. 축소가능

    stretchColumns = 셀 하나하나의 열의 폭을(가로길이) 늘리다. 확장가능, 즉 TableLayout까지 늘릴수 있다. 단순히 말해 화면에 가득 채운다는말

    예를들어  stretchColumns="0" 으로 하면 (index는 0부터시작) 아래와 처럼 되는것.

    레이아웃 중첩

    레이아웃=View컨테이너=ViewGroup=쟁반

    레아이웃 안에 레이아수이 또 들어가 있을 수 있음.


    댓글

Designed by Tistory.