Sponsored By
















728x90



프로그레스바(진행바) 사용 방법임.







00. ProgressBar 선택 후 Properties의 Max 값을 지정. 보통은 100을 만땅(?)으로 많이 지정한다.







01. 연결시켜줄 버튼을 설정해준다. 간단하게 만들어보기위해 onClick사용.






02. 코드를 입력해서 버튼과 프로그레스바를 연결해준다. 그리고 실행버튼을 눌러보자.

package com.example.joey.myprogress;

import ...

public class MainActivity extends AppCompatActivity {


    ProgressBar progressbar;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        progressbar = (ProgressBar) findViewById(R.id.progressBar);

    }

    public void onClick01(View v){

        progressbar.setProgress(82); //나중에는 thread로 진행상황을 넣어줄수 있지만 일단은 int값을 임의로 넣어줘보자.

    }

}







03. 실행시켜보자.






04. 버튼을 눌러보자.






05. 지정된값 82/100 만큼 진행상태가 바뀐것을 확인 할 수 있다.
 

728x90
728x90



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






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. 슬라이딩화면이 끝나고 "열기" 텍스트가 "닫기" 로 바뀌는 것을 확인 할 수 있다.
 

728x90
728x90



뷰페이저(뷰플리퍼) 사용하는 방법임.






00. (오랜만에 시작부터) 안드로이드스튜디오를 시작.







01. 이름을 정해준다. MyViewPager로 지어야하는데 오타나서 Paper로 지어버림.ㅠ






02. 버튼을 만들어주고 뷰페이져를 넣으려는데 찾을 수 없다. 수동으로 만들어주자. Text탭 을 누르자.






03. 다음과같이 필요한코드만 남기게 수정을 하자. 다 입력후 Design탭을 눌러 상태를 확인해주자.


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

<LinearLayout

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

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical"

    >


    <Button

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="New Button"

        android:id="@+id/button"

        android:layout_gravity="center_horizontal" />


    <android.support.v7.view.ViewPager

        android:id="@+id/pager"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        />


</LinearLayout>







04. 확인했으면 MainScript로 넘어가자.






05. findViewById로 Pager를 찾아서 객체를 만들어주고 MyAdapter라는 클래스를 하나 만들어주고 오버라이드시키자.






06. 오버라이드로 재정의하자.






07. distroyItem 과 InstansItem을 선택하고 OK버튼을 클릭.






08. 코드를 마저 작성하자.

package com.example.joey.mypagerer;

import android.os.Bundle;

import android.support.v4.view.PagerAdapter;

import android.support.v4.view.ViewPager;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.view.ViewGroup;

import android.widget.LinearLayout;

import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    ViewPager pager;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        pager = (ViewPager) findViewById(R.id.pager);

        MyAdapter adapter = new MyAdapter();

        pager.setAdapter(adapter);

    }//onCreate End

    public void button01 (View v){

        pager.setCurrentItem(2); //버튼눌렀을때 x번 화면으로 바로이동

    }

    class MyAdapter extends PagerAdapter{

        String[] names = {"사과","딸기","바나나","복숭아"};

        @Override

        public int getCount() {

            return names.length;

        }

        @Override

        public void destroyItem(ViewGroup container, int position, Object object) {

            container.removeView((View)object);

        }

        @Override

        public Object instantiateItem(ViewGroup container, int position) {

            LinearLayout layout = new LinearLayout(getApplicationContext());

            layout.setOrientation(LinearLayout.VERTICAL);


            TextView view = new TextView(getApplicationContext());

            view.setText(names[position]);

            view.setTextSize(40.0f);


            layout.addView(view);


            container.addView(layout);


            return layout;

        }

        @Override

        public boolean isViewFromObject(View view, Object object) {

            return view.equals(0);

        }

    }

}//the end







09. 실행시켜보자.






10. 정상적으로 작동되는 것을 확인 할 수 있다.

 

728x90
728x90



레이아웃 전체에 애니메이션(효과)를 주는 방법임.




애니메이션에 관한 방법 및 코드는 이전포스팅 참조 (https://asterisco.tistory.com/37?category=770622)






00. 메인XML 에서 레이아웃에 id를 추가하고 구별짓기위해 색을 줘보자.

    android:id="@+id/layout01"

    android:background="#fff00fff">







01. 텍스트뷰가 아닌 텍스트그룹 으로 코드를 주면 레이아웃 전체가 애니메이션 되게 된다.

    public void onClick01 (View v){

        Animation animm = AnimationUtils.loadAnimation(this, R.anim.animm);

        ViewGroup layout01 = (ViewGroup) findViewById(R.id.layout01);

        layout01.startAnimation(animm);

    }







02. 구동시켜보자.






03. 구동이 잘 되는 것을 확인 할 수 있다.




 










728x90
728x90



애니메이션(효과) 사용에 대한 방법임.







00. 텍스트뷰와 버튼을 이용하여 원하는 모양으로 만든다.







01. 일단 텍스트뷰를 찾아서 연결하고 캐스팅해준다.

   TextView textView;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        textView = (TextView)findViewById(R.id.textView);

    }







02. res 마우스오른쪽버튼 클릭 - New - Directory 클릭.!!(단, res 밑에 있어야만 한다.)






03. 이름을 지정해주고 OK. (anim으로 지정해줌.)






04. Android->Project-app-src-main-res-anim 을 확인할 수 있다.






05. anim디렉토리에서 마우스오른쪽버튼 클릭 - New - XML - Values XML File 클릭.







06. 이름을 지정해주고 마침버튼을 클릭. (animm으로 지정함.)






07. animm 을 anim 디렉토리 밑으로 옮겨놓는다.







08. 간단하게 작동시킬 애니메이션효과를 입력한다.

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

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

    <translate

        android:fromXDelta="100%p" //100에서 시작(맨뒤에서 시작)

        android:toXDelta="0%p"  //0까지 이동(맨앞까지 이동)

        android:duration="1500"  //1.5초

     />

</set>







09. 메인Script에서 버튼을 만들고 메소드입력.

  public void onClick01 (View v){

        Animation animm = AnimationUtils.loadAnimation(this, R.anim.animm);

        textView.startAnimation(animm);

    }







10. 구동시켜보자.






11. 작동이 잘 되는 것을 확인 할 수 있다.


 

728x90


Sponsored By















+ Recent posts