Sponsored By


















페이지슬라이딩 하는 방법임.






00. 하단의 Text탭을 눌러 코드를 추가 및 수정해준다. 그리고 옆에 Design탭을 눌러 확인해보자.

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent" >


    <LinearLayout

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:orientation="vertical"

        android:background="#ff55555f" >


        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="바탕화면"

            android:textColor="#ffffff"

            android:textSize="30dp" />

    </LinearLayout>


    <LinearLayout

        android:id="@+id/slidingPanel"

        android:layout_width="200dp"

        android:layout_height="match_parent"

        android:orientation="vertical"

        android:background="#ffffff55"

        android:layout_gravity="right"

        android:visibility="gone">


        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="슬라이딩화면"

            android:textColor="#ff00ff"

            android:textSize="30dp" />

    </LinearLayout>


    <Button

        android:id="@+id/button"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_gravity="right|center_vertical"

        android:text="열기"

        android:textColor="#ff000000"

        android:textSize="30dp" />


</FrameLayout>







01. 추가 및 수정한 코드가 잘 들어갔다 확인한다.






02. 바탕화면을 처음에 보이게 하기위해 슬라이딩레이아웃의 visivility를 안보이게한다.






03. 잘 들어갔는지 확인 할 수 있다.






04. 왼쪽트리에서 res 마우스오른쪽버튼 -> New -> Android resource directory 를 눌러 새로운 디렉터리를 생성한다.






05. Type에 anim 을 선택하고 OK를 누른다.






06. 생성된 anim 디렉터리에서 마우스오른쪽버튼 -> New -> resource file 을 클릭하자.






07. 이름을 지어주고 OK버튼클릭 (왼쪽으로 움직일 효과를 넣을것이라서 move_left라 지어줬음.)






08. 애니메이션효과들을 넣어준다.

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate

        android:fromXDelta="100%p"

        android:toXDelta="0%p"

        android:duration="500"

        android:repeatCount="0"

        android:fillAfter="true" />


</set>







09. anim디렉터리에서 이번에는 오른쪽으로 움직일 resource file을 생성해주고 ok를 누른다.






10. 코드를 입력해주자.

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate

        android:fromXDelta="0%p"

        android:toXDelta="100%p"

        android:duration="500"

        android:repeatCount="0"

        android:fillAfter="false" />

</set>







11. 메인Script에서 만들어놓은 코드 및 버튼들을 로딩하고 실행시켜보자.

public class MainActivity extends AppCompatActivity {

    LinearLayout slidingPanel;

    Button button;

    Animation moveLeftAnim;

    Animation moveRightAnim;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        moveLeftAnim = AnimationUtils.loadAnimation(this, R.anim.move_left);

        moveRightAnim = AnimationUtils.loadAnimation(this, R.anim.move_right);


        slidingPanel = (LinearLayout) findViewById(R.id.slidingPanel);

        button = (Button) findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                slidingPanel.setVisibility(View.VISIBLE);

                slidingPanel.startAnimation(moveLeftAnim);

            }

        });

    }







12. 실행시켜보자.






13. 열기버튼을 눌러서 실행시켜보자.






14. 정상적으로 구동됨을 확인할 수 있다.






15. 중간에 Listener를 불러와서 열린후에 "닫기" 로 텍스트가 바뀌게 코드를 조금 추가 및 수정해보자.

public class MainActivity extends AppCompatActivity {

    LinearLayout slidingPanel;

    Button button;

    Animation moveLeftAnim;

    Animation moveRightAnim;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        moveLeftAnim = AnimationUtils.loadAnimation(this, R.anim.move_left);

        moveRightAnim = AnimationUtils.loadAnimation(this, R.anim.move_right);


        moveLeftAnim.setAnimationListener(new Animation.AnimationListener() {

            @Override

            public void onAnimationStart(Animation animation) {

            }

            @Override

            public void onAnimationEnd(Animation animation) {

                button.setText("닫기");

            }

            @Override

            public void onAnimationRepeat(Animation animation) {

            }

        });


        slidingPanel = (LinearLayout) findViewById(R.id.slidingPanel);

        button = (Button) findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                slidingPanel.setVisibility(View.VISIBLE);

                slidingPanel.startAnimation(moveLeftAnim);

            }

        });

    }







16. 실행시켜보자.






17. 버튼을 눌러보자.






18. 슬라이딩화면이 끝나고 "열기" 텍스트가 "닫기" 로 바뀌는 것을 확인 할 수 있다.
 



Sponsored By















+ Recent posts