이번 시간에는 StackView로
정렬된 이미지를 버튼을 통해서
이미지 변경하는 방법을 알아보겠습니다.
이전 시간에 했던 예제를 이어서 하니
먼저 보시고 오시면 됩니다.
2022.01.17 - [안드로이드] - [안드로이드] StackView 이미지(Image) 정렬하는 방법
1. 실행 화면
2. 메인 화면 구성 activitiy_main.xml
3. 메인 코드 구현 MainActivity.java
버튼 2개를 추가했습니다.
다음 이미지를 보여주는 next_btn과
이전 이미지를 보여주는 back_btn
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<StackView
android:id="@+id/stack_view"
android:layout_width="match_parent"
android:layout_height="400dp"
android:layout_centerHorizontal="true" />
<Button
android:id="@+id/back_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="80dp"
android:layout_marginTop="450dp"
android:text="back" />
<Button
android:id="@+id/next_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="450dp"
android:layout_marginRight="80dp"
android:text="Next" />
</RelativeLayout>
1. position 변수를 하나 만들었습니다.
현재 위치를 파악해서 처음 이미지면
뒤로 가지 않게, 마지막 이미지면 앞으로
가지 않게 하기 위해 사용됩니다.
2. showPrevious() : 이전 뷰(View)로 이동합니다.
3. showNext() : 다음 뷰(Vie)로 이동합니다.
public class MainActivity extends AppCompatActivity {
StackView stackView;
int position = 0; //위치
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
stackView = findViewById(R.id.stack_view);
ItemAdapter itemAdapter = new ItemAdapter(createImage(), MainActivity.this
, R.layout.item);
stackView.setAdapter(itemAdapter);
Button bacK_btn = findViewById(R.id.back_btn);
bacK_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(position > 0){
stackView.showPrevious();
position--;
}else{
Toast.makeText(getApplicationContext(), "처음 입니다.", Toast.LENGTH_SHORT).show();
}
}
});
Button next_btn = findViewById(R.id.next_btn);
next_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if( (createImage().size()-1) != position ){
stackView.showNext();
position++;
}else{
Toast.makeText(getApplicationContext(), "마지막 입니다.", Toast.LENGTH_SHORT).show();
}
}
});
}
private List<Integer> createImage(){
List<Integer> images = new ArrayList<>();
images.add(R.drawable.dog1);
images.add(R.drawable.dog2);
images.add(R.drawable.dog3);
images.add(R.drawable.dog4);
return images;
}
}
2022.01.14 - [안드로이드] - [안드로이드] 선택한 사진 가져와서 이미지뷰(ImageView)에 보여주는 방법
2022.01.15 - [안드로이드] - [안드로이드] 나만의 큐알코드(QR CODE) 만드는 방법
2022.01.16 - [안드로이드] - [안드로이드] 큐알코드(QR CODE) 스캔 하는 방법
[안드로이드] 내가 원하는 위치에 도움말(ToolTip) 보여주는 방법 (0) | 2022.01.20 |
---|---|
[안드로이드] 내가 원하는 글씨체 폰트(Font) 적용하는 방법 (0) | 2022.01.19 |
[안드로이드] StackView 이미지(Image) 정렬하는 방법 (0) | 2022.01.17 |
[안드로이드] 큐알코드(QR CODE) 스캔하는 방법 (0) | 2022.01.16 |
[안드로이드] 나만의 큐알코드(QR CODE) 만드는 방법 (0) | 2022.01.15 |
댓글 영역