본문 바로가기
Android/Android

Android_잡다한 문법

by 미티치 2016. 7. 31.

자주 헷갈리지만 항상 쓰는 Android 문법

 

1. Toast 띄우기

 

1
Toast.makeText(getApplicationContext(),"This is Message",Toast.LENGTH_LONG).show();
cs

 




2. 버튼 클릭 리스너

 

1
2
3
4
5
btnStart.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {}
            
        });
cs

 



3. xml에 onclick 속성으로 지정된 메소드 호출 시, 인자로 넘어온 view의 값 확인

 

1
view.getId()
cs
- 참고로 반환형은 int형

 

ex ) 누른 버튼의 id가 btn_window가 맞는지 확인하려면

1
view.getId() ==  R.id.btn_window
cs





4. xml 파일을 이용해서 버튼이나 레이아웃 스타일 지정


resources 폴더의 drawable에 스타일 속성을 지정해 줄 xml 파일을 하나 만듭니다. 


 

- 여기서 주의할점!!! xml 파일 이름은 무조건 소문자로만 만들어야합니다. 위에처럼 layoutStyle로 넣었더니 대문자S를 찾을 수 없다는 에러메세지가 떴었는데, 알고보니 xml 파일 이름은 무조건 소문자로 해야한다고 하네요. 그래서 layoutstyle로 바꿨습니다.



xml 파일에 다음과 같이 설정하면 테두리가 완성! 

1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <solid android:color="#00ffffff" />
    <stroke android:width="2dp" android:color="#FE642E" />
    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>
cs


- solid : 단색으로 색을 채워넣음

- gradient : 단색이 아니라 그라데이션을 넣어 색을 채워넣음

- stroke : 테두리 그려넣기

- corners : 가장자리 설정, 모서리를 둥글게 함

- padding : 여백


이 소스를 액티비티 xml 파일에서 layout에 background로 아래 소스에서 6과 같이 지정해주면 위에 xml에서 생성한 스타일 속성이 그대로 적용됩니다.

1
2
3
4
5
6
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:background="@drawable/layoutStyle"/>
cs





ex) 테두리를 위, 아래에만 지정하고 싶으면?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    
    <item>
        <shape android:shape="rectangle">
            <stroke android:width="1dp" android:color="#FF000000" />
            <solid android:color="#FFFFFF" />
        </shape>
    </item>
 
    <item android:top="2dp" android:bottom="2dp">
        <shape android:shape="rectangle">
            <stroke android:width="1dp" android:color="#FFFFFF" />
            <solid android:color="#00000000" />
        </shape>
    </item>
</layer-list>
cs


< 실행결과 >




- rectangle을 두개 겹쳐서 위아래만 테두리가 들어간것처럼 보이게 만든 것입니다.




Tip & Tech


HTML 색상표는 #00000000 에서 0은 8개까지 설정할 수 있으며, 앞에 두개의 00 자리는 투명도 설정

- #FFFFFF 는 하얀색, #00FFFFFF은 투명색

- #000000 은 검은색, #FF000000도 검정색

- 앞에 두자리가 00이면 투명, FF이면 불투명 (검정)









'Android > Android' 카테고리의 다른 글

Android(12)_동적 화면  (0) 2016.08.16
Android(11)_Python Server & Android Client Thread  (8) 2016.08.15
Android(9)_Slide Menu  (1) 2016.07.26
Android 흑과백 게임  (0) 2016.06.13
Android(7)_Push  (0) 2016.06.01