절대 레이아웃, 테이블 레이아웃은 자주 사용될 것 같지 않아 생략.
(7)스크롤 뷰
스크롤 뷰는 그 안에 추가된 뷰의 영역이 한 번에 다 보이지 않을 때 사용된다.
안드로이드에서는 다른 언어처럼 스크롤바를 일일이 뷰의 보이는 영역과 연결하는 과정 없이 단순히 스크롤뷰 안에 뷰를 넣는 것으로 구현 가능하다.
ScrollView 태그를 사용하며 그 안에 한 개의 뷰가 들어갈 수 있다.
<LinearLayout
   <HorizontalScrollView   //수평 스크롤을 위한 스크롤 뷰
      <ScrollView                //수직 스크롤을 위한 스클롤 뷰
         <ImageView            //이미지를 보여주는 이미지뷰
         />
      </ScrollView>
   </HorizontalScrollView>
</LinearLayout>

(8)프레임 레이아웃과 뷰의 전환
프레임 레이아웃의 중첩(Overlay)기능이 자주 사용될 수 있다.
뷰를 하나하나 추가할 경우 추가된 순서대로 차곡차곡 쌓인다. (가장 마지막 뷰가 가장 먼저 보인다)
뷰의 가시성(visibility) 속성을 보이지 안도록 하면 그 다음 뷰가 보인다.
addView(), removeView() 와 같은 메소드를 이용해 뷰를 추가/삭제 전환할 수 있다.

(9)기본 위젯들
텍스트뷰
text
textColor: 색상설정은 #AARRGGBB, Alpha값은 투명도 표현 FF(불투명), 00(투명), 88(반투명)
textSize: 사이즈 표현단위는 dp, sp, px
textStyle: normal, bold, italic, bold|italic
textFace: 폰트설정, 몇개안됨 (normal, sans, serif, monospace)
singleLine: 문자열이 한 줄로만 표시되도록 설정

버튼
기본버튼, 라디오 버튼, 라디오 버튼을 묶은 라디오 그룹, 체크박스

에디트텍스트
사용하기 쉽긴하지만 사용자가 글자를 입력하기 위해 포커스를 둘 때마다 소프트 키패드가 화면상에 나타나기도 한다. 한/영/숫자 등 입력하는 문자유형도 다양하므로 신경써서 구현할 필요 있다.
에디트텍스트는 입력하는 문자의 유형을 지정할 수 있는 속성을 제공한다. 숫자만 입력되도록 하는 등
<EditText
   android:textSize="18sp"
   android:autoText="true"   //철자 자동 고침
   android:capitalize="words"   //가장 앞 글자를 대문자로 자동 변경
   android:hint="put in your name."   //기본 안내문 표시
   >
</EditText>

이미지뷰
이미지뷰는 이미지를 화면에 표시하기 위해 제공되는 가장 간단한 위젯 중 하나.
이미지를 로딩하여 설정하기 위해 [/res/drawable-hdpi] 폴더 밑에 있는 이미지파일을 복사하여 넣은 후 리소스에서 가져오는 방법 사용가능
drawable 폴더 이용 팁
[/res/drawable] 폴더안에 이미지를 넣게 되면 일반적으로 사용되는 이미지로 인식되지만
[/res/drawable-hdpi] 고화질/ [/res/drawable-mdpi] 중화질/ [/res/drawable-ldpi] 저화질
각각의 폴더에 맞는 이미지를 넣어 두면 화면의 해상도에 따라 이미지가 자동적용된다.
해상도에 관계없이 이미지를 한 곳에만 넣고 싶다면 이중 하나의 폴더에만 지정해서 넣어도 된다.
[/res/drawable] 폴더를 새로 만들어 넣는것도 가능

ImageView imageView1;
imageView1 = (ImageView)findViewById(R.id.imageView1);

Resource res = getResources();
BitmapDrawable bitmap = (BitmapDrawable)res.getDrawable(R.drawable.imagefile);
int bitmapWidth = bitmap.getIntrinsicWidth();
int bitmapHeight = bitmap.getInstrinscHeight();

imageView1.setImageDrawable(bitamp);
imageView1.getLayoutParams().width = bitmapWidth;
imageView1.getLayoutParams().height = bitmapHeight;
by wisegirl 2013. 3. 2. 00:02