ViewFlipper
ViewFlipper๋ ๋ทฐ ์ปจํ ์ด๋์ค ํ๋๋ก ๋ค๋ฅธ ๋ทฐ ์ปจํ ์ด๋๋ค๊ณผ๋ ๋ค๋ฅด๊ฒ ์กฐ๊ธ ๋ณต์กํ ๋ชจ์์ ๊ฐ๋๋ค.
์๋ฅผ ๋ค์ด ์ฐ๋ฆฌ๊ฐ ์นํฐ์ ๋ณด๊ณ ์๋๋ฐ, ์์ผ๋ก ๋๊ธฐ๋ ๊ฒ์ด ๊ท์ฐฎ์์ ์๋ ๋๊น ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ค๊ณ ํ๋ฉด ์ด ๊ฒ์ ViewFlipper์ ์ญํ ์ด๋ค.
ViewFlipper ์์ฉ
๋ทฐ ํ๋ฆฌํผ๋ฅผ ์์ฉํ๋ฉด ๋ค์ํ ์ฑ์ด ๋ง๋ค์ด์ง๋๋ฐ ํฌ๊ฒ ๋ ๊ฐ์ง ๋ถ์ผ๋ก ์์ฉํ ์ ์๋ค.
- ์๋ ํ์ด์ง
- ํญํ์ฌ ๋ทฐ ๋๊ธฐ๊ธฐ
์ด ๋๊ฐ์ง ๋ถ์ผ์ค ์ฐ๋ฆฌ๋ ์๋ ํ์ด์ง์ ๋ํด์ ์ค์ตํด๋ณด์.
ViewFlipper์ ์ฌ์ฉ ๋ฐฉ๋ฒ
<ViewFlipper
android:id="@+id/viewFlipper"
android:layout_width="match_parent"
android:layout_height="match_parent">
...๋ด๋ถ ์์ ฏ...
</ViewFlipper>
XML๋ก ์์ ๊ฐ์ด ViewFlipper๋ฅผ ๋ง๋ค์๋ค๋ฉด ํด๋น ์ปจํ ์ด๋ ๋ด๋ถ์ ๋ทฐ๋ฅผ ์ผ๋ง๋ ๋ฃ์ ๊ฒ์ธ์ง ํ์ธํด์ผ ํ๋ค.
๋ง์ฝ view๊ฐ 3๊ฐ๋ผ๋ฉด 3๊ฐ์ ๋ทฐ๋ง ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค.
์ฐ๋ฆฌ๋ ๊ทธ ๋ทฐ๋ฅผ ImageView๋ฅผ ์จ์ Image๋ฅผ ๋์๋ณด์.
xml ์ฝ๋
<ViewFlipper
android:id="@+id/viewFlipper"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="40dp"
android:src="@drawable/pic01"/>
<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="40dp" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="40dp" />
</ViewFlipper>
๊ทธ๋ฆฌ๊ณ ์์ ์ด๋ฏธ์ง ๋ทฐ๋ฅผ ์๋์ผ๋ก ํ์ด์ง ํ๊ธฐ ์ํด์ ์์ ๋ฒํผ๊ณผ ์ข ๋ฃ ๋ฒํผ ๋ํ ๋ฃ์ด๋ณด์.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal">
<Button
android:id="@+id/startBtn"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_margin="2dp"
android:text="์ฌ์ง๋ณด๊ธฐ ์์"/>
<Button
android:id="@+id/stopBtn"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_margin="2dp"
android:text="์ฌ์ง๋ณด๊ธฐ ์ ์ง"/>
</LinearLayout>
java ์ฝ๋
java ์ฝ๋์์๋ 3๊ฐ์ง์ flipping ๊ด๋ จ ๋ฉ์๋๊ฐ ์๋ค.
startFlipping()
ํ๋ฉด ๋๊น ์์ ๋ฉ์๋
stopFlipping()
์ ์ง ๋ฉ์๋
setFlipInterVal(millisceond)
ํ๋ฉด ๋๊น ๊ฐ๊ฒฌ ๋ฉ์๋
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ViewFlipper;
public class MainActivity extends AppCompatActivity {
Button startBtn, stopBtn;
ViewFlipper viewFlipper;
//ImageView imageView1, imageView2, imageView3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startBtn = (Button) findViewById(R.id.startBtn);
stopBtn = (Button) findViewById(R.id.stopBtn);
viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
startBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewFlipper.startFlipping();
viewFlipper.setFlipInterval(1000);
}
});
stopBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
viewFlipper.stopFlipping();
}
});
}
}
๋๊ธ