본문 바로가기

PROGRAM/Android

버튼 클릭시 이미지 전환(여러개)

 

 

 

 

1. 그림파일 드래그해 넣기 --> res/drawable 폴더에 마우스로 파일을 이동함 

 

버튼 및 이미지 구성하기 ( <<  와  >>  기호는 :  &#60; &#62; 임 )

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    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"
        android:orientation="horizontal">

        <Button
            android:id="@+id/btn_prev"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_marginRight="5dp"
            android:text="&#60;&#60;" />

        <Button
            android:id="@+id/btn_next"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:text="&#62;&#62;" />

    </LinearLayout>
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        app:srcCompat="@drawable/number1" />
</LinearLayout>

 

MainActivity.java

public class MainActivity extends AppCompatActivity {

    private Button btn_prev, btn_next;
    private ImageView imageView;
    int NumImages[] = {R.drawable.number1,R.drawable.number2,
            R.drawable.number3,R.drawable.number4,R.drawable.number5,
            R.drawable.number6,R.drawable.number7};
    int count = -1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn_prev = findViewById(R.id.btn_prev);
        btn_next = findViewById(R.id.btn_next);
        imageView = findViewById(R.id.imageView);
        imageView.setVisibility(View.INVISIBLE);

        MyImageOnChangeListener myChangeListener = new MyImageOnChangeListener();
        btn_prev.setOnClickListener(myChangeListener);
        btn_next.setOnClickListener(myChangeListener);
    }

    class MyImageOnChangeListener implements View.OnClickListener {
        @Override
        public void onClick(View view) {
            switch(view.getId()){
                case R.id.btn_prev:
                    count--;
                    if(count < 0) count = NumImages.length-1;
                    break;
                case R.id.btn_next:
                    count++;
                    if(count == NumImages.length) count = 0;
                    break;
            }
            imageView.setVisibility(View.VISIBLE);
            imageView.setImageResource(NumImages[count]);
        }
    }
}

'PROGRAM > Android' 카테고리의 다른 글

OpenCV-Android-카메라 띄우기  (1) 2021.05.17
ndk-bundle did not have a source.properties file  (1) 2021.05.17
안드로이드스튜디오 Toast 메시지 안뜰 때  (0) 2021.04.23
MyCalc App(2)  (0) 2021.04.21
myCalc App (1)  (0) 2021.04.20