android 개발 레이아웃의 FrameLayout

단일 프레임 레이아웃은 매우 간단합니다. 이 레이아웃에 추가된 모든 하위 컨트롤은 레이아웃의 왼쪽 상단에 놓여 앞에 덮어씌워집니다.
프레임 레이아웃의 모든 구성 요소가 하나의 화면을 대표하는 하위 컨트롤의 윗부분 (0, 0)
좌표는 구성 요소가 정의한 선후 순서에 따라 차례대로 화면에 표시되고 뒤에 나타나는 것은 앞의 화면을 덮어씁니다. 
이 레이아웃을 사용하면 애니메이션 효과를 실현할 수 있다.다음은 세 폭의 그림으로 애니메이션 효과를 실현하겠습니다.
첫 번째 단계:framelayout을 작성합니다.xml 파일
4

     
2단계:activity를 작성하여 FrameLayout의
public class Test001Activity extends Activity {
    FrameLayout frame = null;
    private boolean flag = true;
 
    class MyHandler extends Handler{
    	int i = 0 ;
    	public void handleMessage(Message msg){
    		i++;
    		show( i % 3 );
    		show( i % 3 );
    		sleep(50);
    	}
		public void sleep(long delayMillis) {
			// TODO Auto-generated method stub
			if(flag ){
				sendMessageDelayed(obtainMessage(0), delayMillis);
			}
		}
		private void show(int j) {
			// TODO Auto-generated method stub
			Drawable a = getResources().getDrawable(R.drawable.a);
			Drawable b = getResources().getDrawable(R.drawable.b);
			Drawable c = getResources().getDrawable(R.drawable.c);			
			switch (j){
				case 0:
					frame.setForeground(a);
					break;
				case 1:
					frame.setForeground(b);
					break;
				case 2:
					frame.setForeground(c);
					break;
			}
			
		}
    }
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.framelayout);   
        frame = (FrameLayout)findViewById(R.id.frame);
        final MyHandler myHandler = new MyHandler();
        myHandler.sleep(50);
        
        frame.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				flag =! flag;
				myHandler.sleep(50);
			}
		});
    }
}

디스플레이 효과도는 세 장의 그림이 계속 돌아가며 표시되며, 화면을 눌렀을 때 그림은 현재 그림을 표시하지 않습니다.다음과 같습니다.
참조:http://simpleframework.net/blog/v/105754.html
전체android의 레이아웃과 보기는 이 블로그를 참고하여 링크를 열 수 있습니다.완전 다 썼어!

좋은 웹페이지 즐겨찾기