Google java 스타일 가이드 기준
https://google.github.io/styleguide/javaguide.html
- 패키지명은 모두 소문자 - ex) com.example.deppspace
- 클래스명은 UpperCamelCase - ex) Example
- 메소드명은 lowerCamelCase - ex) sendMessage()
- 상수명은 모두 대문자 단어의 구분은 밑줄 - ex) CONSTANT_CASE
- 필드명은 lowerCamelCase - ex) computedValues
- 파라미터명은 lowerCamelCase
1. 리소스 네이밍 규칙
# drawable
기본 규칙 : [분류]_[색상]
ex) ani_sliding_left, select_login, bg_intro_ffffff, bg_rect_5_ffffff_a0ffff_r40
- 분류
유형 | 축약명 | 규칙 | 예시 | 비고 |
animation | ani | [유형]_[목적] | ani_loading | 애니메이션 정의 |
selector | sel | [유형]_[목적] |
sel_close sel_bookmark |
|
background | bg | [유형]_[목적]_[색상] | bg_intro | 배경 |
shape rectangle | rect | bg_[유형]_[테두리 굵기 dp]_[모서리]_[색상] | bg_rect_5_ffffff_a0ffff | 테두리 |
shape line | line | bg_[유형]_[라인 굵기 dp]_[색상] | bg_line_2_ff00ff | 실선 |
shape line dash | dash | bg_[유형]_[라인 굵기 dp]_[색상] | bg_dash_ffff00 | 점선 |
shape oval | oval | bg_[유형]_[크기dp]_[색상] | bg_oval_4_ff0000 | 타원 |
shape ring | ring |
- 색상
기본 규칙 : [투명도][%]_[색상]
ex) a80_ffacee, a40_eeddcc_a80_ffeeec, ffaacc_a60_aaddff
- 투명도는 alpha의 축약 a를 쓰며, 투명도 %를 표시한다.
- selector 에서는 [기본 투명도]_[기본 색상]_[눌렀을때 투명도]_[눌렀을때 색상]으로 표시한다.
- rect 에서는 [배경 투명도]_[배경 색상]_[테두리 투명도]_[테두리 색상]으로 표시한다.
- 색상이 그라데이션인 경우 [시작 투명도]_[시작 색상]_[중간 투명도]_[중간 색상]_[끝 투명도]_[끝 색상]으로 표시한다.
- 모서리
유형 | 축약명 | 규칙 | 예시 | 비고 |
round |
r rt rb rtl rtr rbl rbr |
[유형][크기 dp] |
r30 rt10 rb20 rt10_rb20 rtl10_rtr15_rbl10_rbr15 |
Radius 값 표시(단위 dp) r : 전체 rt : 상단 rb : 하단 rtl : 상단 왼쪽 rtr : 상단 오른쪽 rbl : 하단 왼쪽 rbr : 하단 오른쪽 |
# layout
유형 | 축약명 | 규칙 | 예시 | 비고 |
Activity | activity_[대상] | activity_main | ||
Fragment | fragment_[대상] | fragment_coupon | ||
Item | itme_[대상]_[목적] | item_coupon_history | ||
layout | layout_[대상] |
layout_titlebar layout_dialog |
CustomView로 완성된 형태, include 뷰 등 |
2. 뷰 아이디 네이밍(android:id="@+id")
기본 규칙 : [소속]_[소속2]_[대상(역할)]_[뷰명(축약)]
ex) main_login_btn, coupon_item_title_tv
# 뷰 컴포넌트 축약
패턴 | 뷰명 | 축약 |
Buttons | Button | btn |
ImageButton | ibtn | |
CheckBox | cb | |
RadioGroup | rg | |
RadioButton | rbtn | |
ToggleButton | tbtn | |
Switch | sw | |
FloatingActionButton | fabtn | |
Widgets | View | v |
ImageView | iv | |
WebView | wv | |
VideoView | vv | |
CalendarView | calv | |
ProgressBar | pbr | |
SeekBar | sbr | |
RatingBar | rbr | |
SearchView | scv | |
TextureView | ttv | |
SufaceView | sfv | |
Layouts | ConstraintLayout | cl |
LinearLayout | ll | |
FramLayout | fl | |
TableLayout | tl | |
Containers | Spnner | sp |
RecyclerView | rv | |
ScrollView | sv | |
HorizontalScrollView | hsv | |
NestedScrollView | nsv | |
ViewPager | vp | |
CardView | cv | |
AppBarLayout | abl | |
NavigationView | nv | |
Toolbar | tbr | |
TabLayout | tabl | |
TabItem | tabi | |
ViewStub | vs | |
AdView | av | |
MapView | mv | |
Legacy | GridLayout | gl |
ListView | lv | |
TabHost | tabh | |
RelativeLayout | rl | |
GridView | gv | |
ExpandableListView | elv | |
Gallery | gal | |
ViewFlipper | vf | |
SlidingDrawer | sd | |
DatePicker | dp | |
TimePicker | tp |
'프로그래밍 > Android Tip' 카테고리의 다른 글
ActivityLifecycleCallbacks, LifecycleObserver, LifecycleOwner (0) | 2018.11.13 |
---|---|
[Android] Aquery Image (0) | 2017.08.07 |
[Android] Aquery Network (0) | 2017.08.07 |
[Android] ScrollView In ScrollView (0) | 2017.06.28 |
[Android] 내부 저장소 경로 (0) | 2017.06.28 |