반응형
|
안드로이드(android) FrameLayout 을 이용해서 이미지 뷰 전환하기 |
|
개발환경 : window 7 64bit, Eclipse Kepler, Android 4.2.2 |
FrameLayout 을 사용해서 샘플을 만들어 보았다. 구현한 샘플은 여러가지
이미지를 전환하는 것이다. 버튼을 이용해서 앞,뒤로 이미지를 볼수 있는데
FrameLayout 에 ImageView 추가해 놓고 번갈아 가며 VISIBLE, INVISIBLE
속성값을 변경한다. 이렇게 속성값을 변경해 가면 이미지를 변경해서 볼수 있다.
|
1. 레이아웃 설정 |
FrameLayout 안에 3개의 ImageView 위젯을 넣는다. 여기에 포함된 3개의
위젯을 VISIBLE, INVISIBLE 사용해 이미지가 전환되는 기능을 구현하는 것이다.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btnPrev"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Prev" />
<Button
android:id="@+id/btnNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Next" />
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/layout_color"
android:padding="2dp" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/imageview_back"
android:padding="2dp"
android:visibility="visible"
android:src="@drawable/view01" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/imageview_back"
android:padding="2dp"
android:visibility="invisible"
android:src="@drawable/view02" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/imageview_back"
android:padding="2dp"
android:visibility="invisible"
android:src="@drawable/view03" />
</FrameLayout>
</LinearLayout>
|
2. 소스에서 이미지 전환을 위해 옵션 셋팅 |
화면에서 Prev, Next 버튼을 클릭할 때 이미지가 앞뒤로 전환되게 되는데
ImaveView 속성중 setVisibility() 함수를 사용한다. 파라미터로 View.INVISIBLE,
View.VISIBLE 를 넘겨주면 된다.
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnNext:
if (imageIndex < 2 ) {
imageIndex ++;
}
changeImage();
break;
case R.id.btnPrev:
if (imageIndex > 0){
imageIndex --;
}
changeImage();
break;
default:
break;
}
}
private void changeImage(){
if (imageIndex == 0) {
mImgView01.setVisibility(View.VISIBLE);
mImgView02.setVisibility(View.INVISIBLE);
mImgView03.setVisibility(View.INVISIBLE);
}else if (imageIndex == 1){
mImgView01.setVisibility(View.INVISIBLE);
mImgView02.setVisibility(View.VISIBLE);
mImgView03.setVisibility(View.INVISIBLE);
}else if (imageIndex == 2){
mImgView01.setVisibility(View.INVISIBLE);
mImgView02.setVisibility(View.INVISIBLE);
mImgView03.setVisibility(View.VISIBLE);
}
}
|
3. 결과 화면과 전체 소스 |
전체 소스 :
FrameLayoutSample.zip
반응형
'안드로이드 개발' 카테고리의 다른 글
| 안드로이드(Android) SeekBar 위젯을 이용해 화면 밝기 조정하기 (0) | 2013.10.28 |
|---|---|
| 안드로이드(android) WebView 페이지 이동과 웹에서 다운받은 파일 SDCARD 에서 확인 (0) | 2013.10.21 |
| 안드로이드(Android) ProgressBar 진행바 구현하기 (4) | 2013.10.19 |
| 안드로이드(Android) FrameLayout 이용해서 페이지 슬라이딩 구현하기 (7) | 2013.10.08 |
| 안드로이드(android) 상대레이아웃(RelativeLayout) 속성값 알아보기 (0) | 2013.10.05 |
| 안드로이드(Android) 에서 layout_gravity 와 gravity 속성차이 알아보기 (0) | 2013.10.03 |
| 안드로이드(Android) 에서 프레임 애니메이션 만들기 (5) | 2013.09.30 |
| 안드로이드(Android) WIFI 와이파이 연결하기 (0) | 2013.09.27 |

