. 액티비티의 전체 크기 알아내기

1
2
3
4
// 전체 크기
DisplayMetrics dm = getApplicationContext().getResources().getDisplayMetrics();
int wholeWidth = dm.widthPixels;
int wholeHeight = dm.heightPixels;

. 뷰의 크기 변경하기

1
2
3
4
ImageView bodyBg = (ImageView) findViewById(R.id.bodyBg);
ViewGroup.LayoutParams bodyBgParams = (ViewGroup.LayoutParams) bodyBg.getLayoutParams();
bodyBgParams.height = bodyGroupParams.height;
bodyBg.setLayoutParams(bodyBgParams);

. 레이아웃 – 이미지 위치 조정 (아래 중앙 정렬)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<RelativeLayout
   android:id="@+id/bodyGroup"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content">

    <ImageView
       android:id="@+id/bodyBg"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:background="@drawable/connect_list_box"
       android:layout_marginTop="10dp"/>

    <ImageView
       android:id="@+id/noUnitImg"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:background="@drawable/bt_no_unit"
       android:layout_centerHorizontal="true"
       android:layout_alignBottom="@id/bodyBg"/>

</RelativeLayout>

. 레이아웃 – 가운데 중앙 정렬

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="114dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center">

        <TextView
            android:id="@+id/bookmark_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="23dp"
            android:text="PIC"
            android:textColor="#000"/>

    </LinearLayout>

</LinearLayout>

. 타이머

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Timer timer = new Timer();
timer.schedule(new TimerTask() {
    @Override
    public void run() {
        try
        {
            // 여기에 실행 코드
        }
        catch (Exception ex)
        {
        }
    }
}, 1000);// 1초 후 실행
// schedule(task, 100, 1000); 0.1초 후에 시작, 1초마다 반복 (일반적인 경우에 사용)
// scheduleAtFixedRate(task, 100, 1000); 0.1초 후에 시작, 1초마다 반복 (정확한 반복 시간 보장을 위해 두 번 호출될 수 있음)

. 전체 화면 모드 적용, 소프트 키 숨김

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
 * 전체 화면 모드 적용, 소프트 키 숨김
 * @param activity
 */

public static void setFullScreen(Activity activity)
{
    activity.getWindow().getDecorView().setSystemUiVisibility(
        View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_FULLSCREEN
        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
    );
}

. 액티비티 메소드들

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

@Override
protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);
}

@Override
protected void onStart() {
    super.onStart();
}

@Override
protected void onRestart() {
    super.onRestart();
}

@Override
protected void onStop() {
    super.onStop();
}

@Override
protected void onPostResume() {
    super.onPostResume();
}

@Override
protected void onPause() {
    super.onPause();
}

@Override
protected void onResume() {
    super.onResume();
}

@Override
protected void onDestroy() {
    super.onDestroy();
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
}
@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
}

@Override
public void onLowMemory() {
    super.onLowMemory();
}

. BACK키 작동 중지

1
2
3
4
5
6
7
8
9
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
    switch(keyCode){
        case KeyEvent.KEYCODE_BACK:
            return false;

    }
    return super.onKeyDown(keyCode, event);
}