22.01.04 피그마를 이용해서 메인페이지와 로그인 페이지를 만든다.
예상 화면
res/drawable에 이미지 다 넣음
던져넣기
복붙
sp
텍스트 사이즈 : 상대적인 크기
\n
줄바꿈
activity_main.xml
에서 디자인 탭으로 들어가서 조절 가능하다.
: 위 태그 정도만 써줘도 이미지는 들어가고
: 디자인 탭에서 수정이 가능하다. ( 2-2 참조)
1) 각 요소들을 붙여준다.
: 이미지나 텍스트 등 모든 요소는 3면이 Constraint 내에 접해야 한다.
2) margin
값을 따로 주지 않고 디자인 탭에서 좌우 0포인트를 주면 가운데 정렬이 되고 상단의 요소와 떨어지게도 만들수 있다.
3) 텍스트 크기, 색깔 등을 검색해서 설정할수 있다.
4) id값을 정할 때 사용한다.
: id는 애니메이션 등 효과를 줄 때 사용한다.
res
(리소스) 폴더에 신규 폴더를 생성하고 (anim
)
두개 파일을 생성한다.
top_animayion.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0%"
android:fromYDelta="-200" <- 여기값이 -2000이면 위쪽 화면 밖에서 내려온다.
android:duration="2500"/>
<alpha
android:fromAlpha="0.1"
android:toAlpha="1.0"
android:duration="1500"/>
</set>
애니메이션 변수 지정
: Animation topanim, bottomanim;
: Animation 부분에 오류가 났을때, alt+Enter 를 누르고 import 해준다.
activity_main.xml
에서 설정한 id와 다르게 설정해야 한다.
:activity_main.xml
에서 사용한 요소들을 애니메이션용 변수로 설정한다.
: ImageView image;
: TextView tit1, tit2;
변수에 애니메이션 설정하기 // R = res = 리소스폴더
: 위에서 설정한 Animation
변수에 각 애니메이션 설정 파일을 연결한다.
: topanim=AnimationUtils.loadAnimation(this,R.anim.top_animation);
: bottomanim=AnimationUtils.loadAnimation(this,R.anim.bottom_animation);
hooks 연결
: 설정한 애니메이션 변수에 activity_main.xml
에서 정의한 id값을 불러와 연결한다. (hooks)
: image=findViewById(R.id.imageview);
: tit1=findViewById(R.id.title1);
: tit2=findViewById(R.id.title2);
오브젝트(이미지, 텍스트)에 애니메이션 연결
: image.setAnimation(topanim);
: tit1.setAnimation(bottomanim);
: tit2.setAnimation(bottomanim);
top_animation.xml
, bottom_animation.xml
activity_main.xml
에서 사용한 요소들을 애니메이션용 변수로 설정한다.topanim
, bottomanim
activity_main.xml
에서 정의한 오브젝트들을 가져와서 연결한다 (hooks)public class MainActivity extends AppCompatActivity {
// 애니메이션 변수 지정
Animation topanim, bottomanim;
ImageView image;
TextView tit1, tit2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 상단 상태바 없애기
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 메인화면 보이기
setContentView(R.layout.activity_main);
// 변수에 애니메이션 설정하기 // R = res = 리소스폴더
topanim=AnimationUtils.loadAnimation(this,R.anim.top_animation);
bottomanim=AnimationUtils.loadAnimation(this,R.anim.bottom_animation);
// hooks 연결
image=findViewById(R.id.imageview);
tit1=findViewById(R.id.title1);
tit2=findViewById(R.id.title2);
// 오브젝트(이미지, 텍스트)에 애니메이션 연결
image.setAnimation(topanim);
tit1.setAnimation(bottomanim);
tit2.setAnimation(bottomanim);
}
}
private static int SPLASH_SCREEN =5000;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// Intent 화면 전환 단위
Intent intent = new Intent(MainActivity.this,Main_page.class);
startActivity(intent);
finish();
}
},
SPLASH_SCREEN);
Splash_Screen
이라는 제목 없앰.MainActivity.java
파일에서getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
눈에보이는 모든 요소
가장 많이 활용
리스트 구현 (ListView)
<div></div>
와 비슷함
공간분할, 화면분할
요소마다 사용법이 조금씩 다름