안녕하세요 오늘은 안드로이드 이미지뷰를 제어하는걸 해보겠습니다
검정네모는 이미지뷰고, 아래는 버튼2개인데 버튼을 클릭하면 검정네모의 크기가 커졌다 작아졌다 합니다
- 필요한 함수
1. getLayoutParams()-이미지뷰에 대한 파라미터정보얻기.
- getLayoutParams().height:세로
- getLayoutParams().width:가로
2. requestLayout()-이미지뷰가 변경됬으면 호출해야하는 함수
- 이 함수를 호출하지않으면 이미지뷰크기가 안변해서, 반드시 호출해야해요.
3. 아래의 코드에서 정의한 getScreenSize함수
- 현재 사용하는 기기의 화면크기를 불러오는 함수입니다.
현재 기기의 화면크기를 알아야 버튼을 얼마나 크게할지, 작아지게할지 정할 수 있으니까요.
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 | public class MainActivity extends AppCompatActivity { Point p; ImageView iv; int x,y; Button btn_up; Button btn_down; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); x=0; y=0; p =getScreenSize(this); Log.i("알람","화면 가로 최대크기 : "+p.x); Log.i("알람","화면 세로 최대크기 : "+p.y); iv= findViewById(R.id.imageView2); btn_up= findViewById(R.id.button); btn_down= findViewById(R.id.button2); btn_up.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { x+=100; y+=100; iv.getLayoutParams().height=x; iv.getLayoutParams().width=y; iv.requestLayout(); } }); btn_down.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { x-=100; y-=100; iv.getLayoutParams().height=x; iv.getLayoutParams().width=y; iv.requestLayout(); } }); } public Point getScreenSize(Activity activity) { Display display = activity.getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); return size; } } |
'안드로이드 > 이론' 카테고리의 다른 글
안드로이드 Intent 사용하기(2단계) (1) | 2019.04.30 |
---|---|
안드로이드 Intent 사용하기(1단계) (1) | 2019.04.14 |
안드로이드스튜디오 권한설정하기 (3) | 2019.01.20 |
안드로이드 Toast메세지에 대해 알아보기 (0) | 2017.08.28 |
안드로이드 Log에 대해 알아보기 (0) | 2017.08.28 |