안드로이드 앱프로그래밍 연습
두 개의 이미지뷰에 이미지 번갈아 보여주기
pureworld
2019. 7. 8. 20:35
두 개의 이미지뷰에 이미지 번갈아 보여주기
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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | package com.example.hello; import android.content.Intent; import android.content.res.Resources; import android.graphics.drawable.BitmapDrawable; import android.media.Image; import android.net.Uri; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.HorizontalScrollView; import android.widget.ImageView; import android.widget.ScrollView; import android.widget.Toast; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; public class MainActivity extends AppCompatActivity { @BindView(R.id.main_iv_cat) ImageView cat; @BindView(R.id.main_iv_univ) ImageView univ; @BindView(R.id.main_tv_up) Button up; @BindView(R.id.main_tv_down) Button down; BitmapDrawable bitmap1,bitmap2; boolean imageindex=true; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); sv1.setHorizontalScrollBarEnabled(true); sv2.setHorizontalScrollBarEnabled(true); Resources res=getResources(); bitmap1=(BitmapDrawable)res.getDrawable(R.drawable.kitty); int bitmapWidth1=bitmap1.getIntrinsicWidth(); int bitmapHeight1=bitmap1.getIntrinsicHeight(); cat.setImageDrawable(bitmap1); cat.getLayoutParams().width=bitmapWidth1; cat.getLayoutParams().height=bitmapHeight1; bitmap2=(BitmapDrawable)res.getDrawable(R.drawable.universe); int bitmapWidth2=bitmap2.getIntrinsicWidth(); int bitmapHeight2=bitmap2.getIntrinsicHeight(); univ.setImageDrawable(bitmap2); univ.getLayoutParams().width=bitmapWidth2; univ.getLayoutParams().height=bitmapHeight2; } @OnClick({R.id.main_tv_up,R.id.main_tv_down}) public void onClick(View v){ if(v.equals(up)||v.equals(down)) changeImage(); } private void changeImage() { if(imageindex){ Resources res=getResources(); bitmap1=(BitmapDrawable)res.getDrawable(R.drawable.universe); int bitmapWidth1=bitmap1.getIntrinsicWidth(); int bitmapHeight1=bitmap1.getIntrinsicHeight(); cat.setImageDrawable(bitmap1); cat.getLayoutParams().width=bitmapWidth1; cat.getLayoutParams().height=bitmapHeight1; bitmap2=(BitmapDrawable)res.getDrawable(R.drawable.kitty); int bitmapWidth2=bitmap2.getIntrinsicWidth(); int bitmapHeight2=bitmap2.getIntrinsicHeight(); univ.setImageDrawable(bitmap2); univ.getLayoutParams().width=bitmapWidth2; univ.getLayoutParams().height=bitmapHeight2; imageindex=false; } else{ Resources res=getResources(); bitmap1=(BitmapDrawable)res.getDrawable(R.drawable.kitty); int bitmapWidth1=bitmap1.getIntrinsicWidth(); int bitmapHeight1=bitmap1.getIntrinsicHeight(); cat.setImageDrawable(bitmap1); cat.getLayoutParams().width=bitmapWidth1; cat.getLayoutParams().height=bitmapHeight1; bitmap2=(BitmapDrawable)res.getDrawable(R.drawable.universe); int bitmapWidth2=bitmap2.getIntrinsicWidth(); int bitmapHeight2=bitmap2.getIntrinsicHeight(); univ.setImageDrawable(bitmap2); univ.getLayoutParams().width=bitmapWidth2; univ.getLayoutParams().height=bitmapHeight2; imageindex=true; } } } | cs |
메인 엑티비티
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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout 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" tools:context=".MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="50dp"> <HorizontalScrollView android:id="@+id/main_sv1" android:layout_width="match_parent" android:layout_height="250dp"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/main_iv_univ" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </ScrollView> </HorizontalScrollView> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:id="@+id/main_tv_up" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="△" android:textSize="30dp" android:gravity="center" /> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" ></LinearLayout> <Button android:id="@+id/main_tv_down" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="▽" android:textSize="30dp" android:gravity="center" /> </LinearLayout> <HorizontalScrollView android:id="@+id/main_sv2" android:layout_width="match_parent" android:layout_height="250dp"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/main_iv_cat" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </ScrollView> </HorizontalScrollView> </LinearLayout> </android.support.constraint.ConstraintLayout> | cs |
xml
버튼을 누르면 사진 두개가 위아래로 왔다갔다 함.
코드가 뭔가 길고 더럽다. 좀더 간단하게 할 수 있는 방법이 있을거 같은데 하하...