반투명 박스, 선 그리기
<View
android:id=“@+id/box”
android:layout_width=“100dp”
android:layout_height=“50dp”
android:background=“#19000000″/>
박스나 선을 그리기 위해서는 예제와 같이 View 위젯을 사용한다. 물론 TextView나 RelativeLayout, LinearLayout 자체의 Background 색상 설정으로도 반투명 효과를 줄 수 있다.
그리려는 박스의 크기를 layout_width(넓이), layout_height(높이)에 작성한다. 만약 부모 레이아웃의 전체 폭만큼을 채우고 싶다면, “match_parent”를 사용한다.
선을 그릴 경우에는 가로 선의 경우 width 값을 “1px” 내지 원하는 두께만큼 설정하여 그릴 수 있으며, 세로 선의 경우는 물론 height 값을 설정한다.
background의 값은 drawable을 값으로 가질 수도 있지만, 예제와 같이 색상코드를 부여할 수도 있다.
각 자리의 의미는 두글자씩 argb에 해당한다. 반투명 효과를 주고 싶다면 원하는 퍼센트 만큼을 “2.55 * 퍼센트값”을 한 뒤, 16진수로 변환하여 적어준다.
2.55는 2자리의 16진수의 최대값인 ff(10진수 255)를 100으로 나눈 값이다.
# 19 00 00 00
Alpha | Red | Green | Blue
예제의 경우, 검은색(rgb = 00 00 00)을 10%만큼의 불투명도를 적용한 값이다. 19(16진수)는 2.55 * 10(%) = 25.5에서 소수점 이하를 버린 16진수 값에 해당한다.
코너에 라운드가 들어간 박스 그리기
프로젝트 내에 res/layout 폴더에 빈 xml 파일을 생성한 뒤, 아래 예제와 같이 코드를 작성한다.
<예제 파일명 : rounded.xml>
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<item>
<shape android:shape=
"rectangle"
>
<corners android:radius=
"10dip"
/>
<solid android:color=
"#efefef"
/>
<stroke android:width=
"1dp"
android:color=
"#2f2f2f"
/>
</shape>
</item>
</layer-list>
위 파일 내용은 코너에 라운드가 들어간 박스의 형태를 정의해놓은 것이다. item 내부에 내용을 살펴보면…
<shape android:shape=
"rectangle"
> 사각형(rectangle) 형태
<corners android:radius="10dip"
/> 코너에 라운드 크기
<solid android:color="#efefef"
/> 사각형의 면색깔 지정
<stroke android:width="1dp"
android:color=
"#2f2f2f"
/> 사각형의 테두리 선 두께(width) 및 색상 지정
형태가 만들어졌다면, 적용하고자 하는 레이아웃의 백그라운드에 다음과 같이 적용하면, 레이아웃의 크기에 맞게 위에 설정된 형태로 박스가 그려지게 된다.
<LinearLayout
android:layout_width=”wrap_content”
android:layout_width=”wrap_content”
android:background=”@layout/rounded” >
@layout/rounded에서 rounded는 형태를 작성했던 파일명에 해당한다.
TextView 내에 글씨 크기 및 색상 조절하기
TextView를 xml에서 설정하다보면 TextSize, TextColor가 일괄 적용되기 때문에 TextView 내에 특정 문자에 색상을 변경하거나 크기를 다르게 줄 수가 없다.
이 경우, JAVA코드 상에서 해결 할 수 있다.
<예제>
xml 파일 내에 다음과 같은 TextView가 작성된 경우.
<TextView
android:id = “@+id/txt”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Hello World” />
– 글씨색 변경 : new ForegroundColorSpan(Color.RED)
– 글자배경색 변경 : new BackgroundColorSpan(Color.BLUE)
'[미네르바's IT] > [미네르바's 안드로이드]' 카테고리의 다른 글
[안드로이드 광고 수익]구글 애드몹 광고 달기(전면 광고/배너 광고) (0) | 2014.12.28 |
---|---|
[안드로이드]APK 분석하는 방법 (0) | 2014.12.26 |
[안드로이드]ListView + custom adapter에서 클릭 이벤트 처리. (0) | 2014.12.26 |
[안드로이드]엑셀 파일로부터 db 파일 만들기 (0) | 2014.12.24 |
[안드로이드]이클립스 실행시 에러 : Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY (0) | 2014.12.24 |