티스토리 뷰
1. 화면을 위 아해 두 영역으로 나누고 그 영역에 각각 이미지뷰를 배치.
2. 상단의 이미지뷰에 하나의 이미지가 보이도록 함.
3. 두 개의 이미지뷰 사이에 버튼을 하나 만들고 그 버튼을 누르면 상단의 이미지가 하단으로 옮겨져 보이고 다시 누르면 상단으로 다시 옮겨지는 기능을 추가 한다.
xml파일
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.choonie.relativelayoutex.ChallengeActivity"> <ImageView android:id="@+id/image1" android:layout_width="match_parent" android:layout_height="wrap_content" android:adjustViewBounds="true" android:maxHeight="250dp" android:scaleType="fitXY" android:src="@drawable/de" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal"> <Button android:id="@+id/upImageButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="togglePhoto" android:text="위로" /> <Button android:id="@+id/downImageButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="togglePhoto" android:text="아래로" /> </LinearLayout> <ImageView android:id="@+id/image2" android:layout_width="match_parent" android:layout_height="wrap_content" android:maxHeight="250dp" android:scaleType="fitXY" /> </LinearLayout>
java파일
public class ChallengeActivity extends AppCompatActivity { private ImageView image1, image2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_challenge); this.image1 = (ImageView)findViewById(R.id.image1); this.image2 = (ImageView)findViewById(R.id.image2); } public void togglePhoto(View v){ Button b = (Button)findViewById(v.getId()); switch (b.getId()){ case R.id.downImageButton : this.image2.setImageDrawable(this.image1.getDrawable()); this.image2.setVisibility(View.VISIBLE); this.image1.setVisibility(View.INVISIBLE); break; default : this.image1.setImageDrawable(this.image2.getDrawable()); this.image1.setVisibility(View.VISIBLE); this.image2.setVisibility(View.INVISIBLE); break; } } }
Comments