안드로이드 스튜디오를 이용하여 


Android Material Design 적용하기!!


Android Material Design이 적용된 TextInputLayout을 알아보겠습니다!!




먼저 안드로이드 스튜디오를 이용하여 새로운 Andriod Project를 생성합니다.


- 라이브러리 추가

Material Design을 적용하기 위해서 android-support-v7 라이브러리를 21.0.0 이상 버전을 추가해줘야합니다.

최신 버전의 안드로이드 스튜디오의 경우 자동으로 android-support-v7:21.0.0 이상 버전이 추가되어있습니다.


만일 21.0.0 버전 이하거나 없다면 gradle에 추가해주세요.


dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
}

- TartgetSDK 변경

 android-support-v7 라이브러리 사용을 위해서는 TargetSDK가 21버전 이상으로 설정되어야 합니다.

defaultConfig {
applicationId "tsis.co.kr.androidstudiotest"
minSdkVersion 11
targetSdkVersion 21
versionCode 1
versionName "1.0"
}




- Layout

<android.support.design.widget.TextInputLayout
android:id="@+id/txtIptLayout_id"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="id를 입력하세요"/>
</android.support.design.widget.TextInputLayout>

<android.support.design.widget.TextInputLayout
android:id="@+id/txtIptLayout_pw"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="password를 입력하세요."
android:password="true"/>
</android.support.design.widget.TextInputLayout>


정말 간단하게 TextInputLayout을 적용해보았습니다.


코드 한 줄 없이 xml으로만 적용할 수 있습니다.


정말 쉽죠잉~?




채팅 앱을 개발하다 보면 채팅 activity가 백그라운드에 내려가 있을 때 현재 채팅중인 상대방이 아닌 다른 사람에게 메세지가 와서 nofitication을 누르게 되면 같은 activity가 두 개 뜨는 현상이 발생한다.

이런 현상을 막기 위해 Acitivty LaunchMode를 변경하여 단일 activity만 활성화 되도록 설정한다.

<activity android:name="ChattingAcitivity"

android:screenOrientation="portrait" 

android:windowSoftInputMode="adjustResize"

android:launchMode="singleTask" />


activity 설정을 singleTask로 설정하여 단일 activity 설정 적용 완료!


단 이렇게 설정했을 때 onResume에서 intent 데이터를 받을 시에 

getIntent 값이 변경되지 않는 문제점이 발생한다..

Intent 값 변경은 다음 포스팅에 계속!



+ Recent posts