android 개발 레이아웃의 FrameLayout
2306 단어 android 개발 및 학습
프레임 레이아웃의 모든 구성 요소가 하나의 화면을 대표하는 하위 컨트롤의 윗부분 (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의 레이아웃과 보기는 이 블로그를 참고하여 링크를 열 수 있습니다.완전 다 썼어!