반응형
수평과 수직 스크롤을 모두 나타내기 위해, HorizantalScrollView 안에 ScrollView를 추가한후 imageView를 추가
스크롤뷰는 뷰가 한 화면에 다 보이지 않을 때 사용하며, 스크롤 기능을 지원함, 뷰를 스크롤뷰 안에 넣는것 만으로 스크롤 기능이 자동으로 적용됨
스크롤뷰의 id를 설정해줌
package com.example.a07;
import androidx.appcompat.app.AppCompatActivity;
import android.content.res.Resources;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.ScrollView;
public class MainActivity extends AppCompatActivity {
ScrollView sv;
ImageView iv;
// BitmapDrawable 객체는 getIntrinsicWidth(), getIntrinsicHeight() 메소드를 통해서 크기를 참조할 수 있다
BitmapDrawable bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sv = findViewById(R.id.scrollView);
iv = findViewById(R.id.imageView);
// 수평 스크롤바 사용 기능 설정
sv.setHorizontalScrollBarEnabled(true);
Resources res = getResources();
bitmap = (BitmapDrawable) res.getDrawable(R.drawable.image01);
int bitmapWidth = bitmap.getIntrinsicWidth();
int bitmapHeight = bitmap.getIntrinsicHeight();
iv.setImageDrawable(bitmap);
iv.getLayoutParams().width = bitmapWidth;
iv.getLayoutParams().height = bitmapHeight;
}
public void onButton1Clicked(View v){
changeImage();
}
private void changeImage(){
Resources res = getResources();
bitmap = (BitmapDrawable) res.getDrawable(R.drawable.image02);
int bitmapWidth = bitmap.getIntrinsicWidth();
int bitmapHeight = bitmap.getIntrinsicHeight();
iv.setImageDrawable(bitmap);
iv.getLayoutParams().width = bitmapWidth;
iv.getLayoutParams().height = bitmapHeight;
}
}
반응형