- 배경 이미지를 추가한다.
- 배경 이미지위에 버튼, 이미지를 추가할 수 있다.
✅ res > drawable에 이미지 추가
bg라는 이미지를 추가한다.
✅ activity_main.xml
android:background="@drawable/bg"
drawable에 bg이미지를 추가한다.<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bg" tools:context=".MainActivity"> <ImageView android:layout_width="274dp" android:layout_height="155dp" app:srcCompat="@drawable/sample" android:id="@+id/imageView" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.726" app:layout_constraintVertical_bias="0.129"/> <Button android:text="Button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/button" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.925" app:layout_constraintHorizontal_bias="0.517"/> </androidx.constraintlayout.widget.ConstraintLayout>
✅ MainActivity
background image만 확인할 것이기 때문에 MainActivity는 수정하지 않는다.
✅ res > raw에 비디오 추가
video.mp4 파일을 추가한다.
✅ activity_main.xml
- VideoView를 추가한다.
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <VideoView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/videoView" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
✅ MainActivity
package com.example.sample21 import android.net.Uri import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.MediaController import android.widget.VideoView class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val videoView = findViewById<VideoView>(R.id.videoView) videoView.setMediaController(MediaController(this)) //R.raw.파일이름 으로 영상을 불러온다. videoView.setVideoURI(Uri.parse("android.resource://" +packageName + "/" + R.raw.video)) } }
✅ AndroidManifest.xml에 인터넷을 사용하기 위해 추가한다.
<uses-permission android:name="android.permission.INTERNET" />
✅ activity_main.xml
- WebView를 추가한다.
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" tools:layout_editor_absoluteY="1dp" tools:layout_editor_absoluteX="1dp"/> </androidx.constraintlayout.widget.ConstraintLayout>
✅ MainActivity
package com.example.sample22 import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.webkit.WebView class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val webView = findViewById<WebView>(R.id.webView) //원하는 url입력하기 webView.loadUrl("https://m.naver.com") } }
✅ MainActivity
package com.example.sample22 import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.webkit.WebView class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val webView = findViewById<WebView>(R.id.webView) //html태그로 작성하여 실행하기 val html = "<html><head><meta charset=\"UTF-8\"></head><body>Hello World! 안녕하세요!</body></html>" webView.loadData(html, "text/html", "UTF-8") } }
✅ assets > hello.html 추가하기
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>안녕</title> <script type="text/javascript"> window.onload=function(){ var c = document.getElementById('c'); c.style.background='yellow'; }; </script> </head> <body> <div id="c"> Hello, 안녕하세요!! 반갑습니다!! </div> <hr size="1" width="90%"> <input type="button" value="경고창 보기" onclick="alert('경고창 보기');"> </body> </html>
✅ MainActivity
package com.example.sample22 import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.webkit.WebChromeClient import android.webkit.WebView class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val webView = findViewById<WebView>(R.id.webView) //assets폴더에 hello.html을 불러와 실행하기 webView.loadUrl("file:///android_asset/hello.html") webView.settings.javaScriptEnabled = true webView.webChromeClient = WebChromeClient() } }