본문 바로가기
매일코딩/안드로이드

[안드로이드 기초] 프레임 레이아웃 - 버튼 클릭으로 사진 바꾸기

by 인생여희 2017. 8. 11.
반응형

프레임 레이아웃 - 버튼 클릭으로 사진 바꾸기


#특징

visiblety 속성으로 보일지 말지 정해준다.

싱글 모델

가장 상위에 있는 하나의 뷰 또는 뷰그룹만 보여주는 방법

여러 개의 뷰가 들어가면 중첩하여 쌓이게 됨. 가장 단순하지만 여러 개의 뷰를 중첩한 후 각 뷰를 전환하여 보여주는 방식


이미지 변경은 

이미지 객체.setVisibility(현재뷰.VISIBLE)    -> 보임

이미지 객체.setVisibility(현재뷰.INVISIBLE)    -> 숨김


#디자인 화면



#자바소스

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package me.happygate.myapplication004;
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
 
public class MainActivity extends AppCompatActivity {
 
    //이미지 뷰 두개 변수는 onCreate 함수 안에 선언되서 다른 클래스에서 접근 할 수 없다
    //그래서 전역 변수로 선언
 
    ImageView imageView;
    ImageView imageView2;
 
    //어떤 이미지가 선택되었는지 알려주는 변수
    int index = 0;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        //이미지 뷰 선택하기
        imageView= (ImageView)findViewById(R.id.imageView);
        imageView2= (ImageView)findViewById(R.id.imageView2);
    }
 

    //버튼을 눌렀을 때
    public void onButtonClicked(View v){
        
        // index를 1로 바꿔준다.
        index += 1;
 
        if(index>1){
 
            index = 0;
        }
 
        // index 가 0 이면 첫번째 그림 보이고 두번재 그림 숨기기
        if(index == 0 ){
 
            imageView.setVisibility(View.VISIBLE);
            imageView2.setVisibility(View.INVISIBLE);
            
        // index가 1이면 두번째 그림 보이고 첫번째 그림 숨기기    
        }else if(index ==1){
 
            imageView.setVisibility(View.INVISIBLE);
            imageView2.setVisibility(View.VISIBLE);
        }
 
    }
 
}
 
cs


반응형

댓글