내 머릿속 데이터베이스

layout_weight을 쓸 때 height이나 width 중 하나를 0으로 고정하자 본문

Programming/Mobile

layout_weight을 쓸 때 height이나 width 중 하나를 0으로 고정하자

파도소리 2014. 7. 17. 17:00

http://developer.android.com/training/basics/firstapp/building-ui.html

 

여기서 있던 내용.

 

<EditText
       
android:layout_weight="1"
        ...
/>

 

 

이렇게 할 때  

android:layout_width를 wrap_content로 해주기 보다는 0dp로 해주는 것이 더 좋다

 

<EditText
       
android:layout_weight="1"
       
android:layout_width="0dp"
        ...
/>

 

 

이유는 wrap_content같은걸 쓰면 부모뷰와 자식뷰 사이에 서로의 크기를 밀당하는 계산이 많아지기 때문에 

(정확하게는 onMeasure 메소드의 빈번한 호출)

 

그냥 0dp로 고정해놓고 써야 더 효율적인 레이아웃

 

(이 예제에서는 부모 레이아웃의 orientation 이 horizontal이였음, 그래서 width를 0dp로 설정)

Comments