material.io ๋ฅผ ๋ค์ด๊ฐ๋ณด๋ฉด ์๋๋ก์ด๋์ ์๋ฆ๋ต๊ณ ์ ๊ฐํ ๋์์ธ, ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ฒ ํ์ ๋ณผ ์ ์๋ค.
์ฐ์ ์ฝ๊ฒ ํ๋ก์ ํธ์ Material Design์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๋ค.
ํ๋ก์ ํธ AndroidX migrate๋ฅผ ํ๋ค๋ ๊ฐ์ ํ์, ํน์ ์๋๋ก์ด๋ ์คํ๋์ค ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ๋ค๋ ๊ฐ์ ํ์
(ํ์๋ Android Studio 3.6.1 ๋ฒ์ ์ ์ฌ์ฉ ์ค)
๋จผ์ ์ข์ธก ํ๋ก์ ํธ ํธ๋ฆฌ์์ ๋ค์๊ณผ ๊ฐ์ ๋ถ๋ถ์ ํด๋ฆญํ๋ค.
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
์์ ๊ฐ์ ๋ถ๋ถ์์
androidx.appcompat:appcompat:1.1.0์ ๋ฒ์ ์ซ์์ ๋ง๊ฒ ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ค.
implementation 'com.google.android.material:material:1.1.0'
๊ทธ๋ผ ์๋์ ๊ฐ์ ๋ชจ์ต์ด ๋ ๊ฒ์ด๋ค.
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
์ถ๊ฐ๊ฐ ์๋ฃ๋์๋ค๋ฉด, ์๋์ Sync Now ๋ฒํผ์ ๋๋ฌ ๋๊ธฐํ๋ฅผ ์์ผ์ฃผ์.
์ด์ ํ ๋ง๋ฅผ Material Theme๋ก ์ ์ฉํด๋ณด์.
AndroidX๋ก migrateํด์ Material ํ ๋ง๋ฅผ ์ ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ
AndroidManifest.xml
ํ์ผ์์ Application์ ์ด๊ธฐ๊ฐ์ผ๋ก ์ ์ฉํ๊ณ ์๋ AppTheme
๋ฅผ
styles.xml
์ ํตํด parent="Theme.AppCompat.Light.DarkActionBar"
๋ฅผ
parent="Theme.MaterialComponents.Light.DarkActionBar"
์ผ๋ก ์ ์ฉํ๋ฉด, ์ดํ์ ์ฌ์ฉ๋๋ View๋ค, ์๋ฅผ ๋ค์ด Button๊ณผ ๊ฐ์ ๊ฐ์ฒด๋ค์ ์ผ์ผ์ด
<com.google.android.material.button.MaterialButton>
์ด๋ฐ ํํ ๋์ ์
<Button>
์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค.
์ ์ฉํ ๋ค ๋ชจ์ต์ ๋ค์๊ณผ ๊ฐ์๋ฐ, ์ด๋ค ํน๋ณํ ํ๋ ์ถ๊ฐํ๊ณ ์ ์ฉํ์ง ์์๊ธฐ์ ๊ทธ๋๋ก ๋ณด์ผ ๊ฒ์ด๋ค.
์ด์จ๋ ์ฐ์ 1์ฐจ์ ์ผ๋ก Material Design์ ์ปดํฌ๋ํธ๋ค์ ์ฌ์ฉํ ์ค๋น๊ฐ ์๋ฃ๋์๋ค.
์ด์ activity_main.xml
๋ก ๋ค์ด๊ฐ ๋ค์๊ณผ ๊ฐ์ด TextView
๋ฅผ Button
์ผ๋ก๋ง ๋ณ๊ฒฝํ์ฌ ๋ค์ ์คํ์์ผ๋ณด์.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
์ด๋ฌ๋ ๋ฒํผ์ด
๋ค์์ ๋ชจ์ต์ผ๋ก ์์๊ฒ ๋ณ๊ฒฝ๋์๋ค!
'IT-Engineering > Android' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋๋ก์ด๋ ์ฑ ๊ธฐ๋ณธ ํ ๋ง ๋ฐ ์คํ์ผ ์์ฑ ๋ถ์ (0) | 2020.03.14 |
---|---|
์๋๋ก์ด๋ ์ฑ ํ์ดํ๋ฐ ์์ ๊ธฐ (0) | 2020.03.14 |
์๋๋ก์ด๋ ์คํ๋์ค - ์ฑ๋ณ ๋๋ ํ ๋ฆฌ ์ฌ์ฉํ๊ธฐ(feat. Device File Explorer) (0) | 2020.03.09 |
์๋๋ก์ด๋ ์คํ๋์ค์์ ํ์๊ธฐ ์ฌ์ฉํ๊ธฐ (2) | 2020.03.09 |
๋๊ธ